├── .gitignore
├── App.config
├── Article
├── 555-2.png
├── 555.gif
├── 555.png
├── 7476.gif
├── 7476.png
├── FlowSharpCodeComm.htm
├── IoT
│ ├── FizzBuzzSimple-layout.xml
│ ├── FizzBuzzSimple.fsd
│ ├── WebSocketClientDemo-layout.xml
│ ├── WebSocketClientDemo.fsd
│ ├── arch2-layout.xml
│ ├── arch2.fsd
│ ├── arch3.png
│ ├── arch4.png
│ ├── arch5.png
│ ├── architecture.png
│ ├── article-layout.xml
│ ├── article.fsd
│ ├── cswsc1.png
│ ├── cswsc10.png
│ ├── cswsc2.png
│ ├── cswsc3.png
│ ├── cswsc4.png
│ ├── cswsc5.png
│ ├── cswsc6.png
│ ├── cswsc7.png
│ ├── cswsc8.png
│ ├── cswsc9.png
│ ├── devscenario1.png
│ ├── devscenario2.png
│ ├── drakon1.png
│ ├── drakon2.png
│ ├── fb1.png
│ ├── fb2.png
│ ├── fb3.png
│ ├── fb4.png
│ ├── fizzbuz-no-arrows-layout.xml
│ ├── fizzbuz-no-arrows.fsd
│ ├── fizzbuzz-code-behind-layout.xml
│ ├── fizzbuzz-code-behind.fsd
│ ├── fizzbuzz-layout.xml
│ ├── fizzbuzz.fsd
│ ├── index.htm
│ ├── iot2-layout.xml
│ ├── iot2.fsd
│ ├── pylint1.png
│ ├── sftp1.png
│ ├── sftp2.png
│ ├── sftp3.png
│ ├── sftp4.png
│ ├── sftp5.png
│ ├── sftp6.png
│ ├── sftp7.png
│ ├── sftp8.png
│ ├── sofar.png
│ ├── wsc1.png
│ ├── wsc10.png
│ ├── wsc11.png
│ ├── wsc12.png
│ ├── wsc2.png
│ ├── wsc3.png
│ ├── wsc4.png
│ ├── wsc5.png
│ ├── wsc6.png
│ ├── wsc7.png
│ ├── wsc8.png
│ ├── wsc9.png
│ ├── wss1.png
│ ├── wss2.png
│ ├── wss3.png
│ ├── wss4.png
│ ├── wss5.png
│ ├── wss6.png
│ └── wss7.png
├── anchors.fsd
├── app1.png
├── app2.png
├── app3.png
├── app4.png
├── app5.png
├── app6-small.png
├── app6.png
├── architecture overview-layout.xml
├── architecture overview.fsd
├── architecture-layout.xml
├── architecture-small.png
├── architecture.fsd
├── architecture.png
├── bookmark1.png
├── bookmark2.png
├── bpel.png
├── db.png
├── flowaharp.png
├── flowsharp2.png
├── flowsharpcode1.png
├── flowsharpcode2.htm
├── fsc1.png
├── fsc2.png
├── fsc3.png
├── fsc4.png
├── fsc5.png
├── fsc6.png
├── fsc7.png
├── fscc.htm
├── grabbag.jpg
├── helloWorldDemo-layout.xml
├── helloWorldDemo.fsd
├── httpserver1.png
├── httpserver2.png
├── httpserver3.png
├── httpserver4.png
├── httpserver5.png
├── httpserver6.png
├── httpserver7.png
├── httpserver8.png
├── httpserver9.png
├── img1.png
├── img10.png
├── img11.png
├── img12.png
├── img13.png
├── img14.png
├── img15-1.png
├── img15-2.png
├── img15-3.png
├── img15-4.png
├── img16.png
├── img17.png
├── img18.png
├── img19.png
├── img2.png
├── img20.png
├── img21.png
├── img22.png
├── img23.png
├── img24.png
├── img25.png
├── img26.png
├── img27.png
├── img28.png
├── img29.png
├── img3.png
├── img30.png
├── img31.png
├── img32.png
├── img33.png
├── img34.png
├── img35.png
├── img36.png
├── img37.png
├── img38.png
├── img39.png
├── img4.png
├── img40.png
├── img5.png
├── img6.png
├── img7.png
├── img8.png
├── img9.png
├── index.htm
├── index2.htm
├── intercomms-layout.xml
├── intercomms.fsd
├── intercomms.png
├── js2.png
├── linecaps1.fsd
├── minArchitecture.fsd
├── negwidth.fsd
├── negwidth1.png
├── negwidth2.png
├── negwidth3.png
├── negwidth4.fsd
├── negwidth4.png
├── objectModel.fsd
├── objectModel.png
├── outline.png
├── overview.png
├── rendering.fsd
├── scratch.png
├── sem1.png
├── sem2.png
├── sem3.png
├── sem4.png
├── sem5.png
├── sem6.png
├── sem7.png
├── sem8.png
├── semantic agent-based computing.htm
├── serializationTest.fsd
├── snapping.png
├── soundPlayer.png
├── speaker.png
├── text.fsd
├── text2.fsd
├── ui1.png
├── ui2.png
├── ui3.png
├── uiObjectModel.png
├── uiobjectModel.fsd
├── umlactor.png
├── undo1.png
├── undo2.png
├── undo3.jpg
├── v1.png
├── vsinfo.png
├── websocketserver1.png
├── websocketserver10.png
├── websocketserver11.png
├── websocketserver2.png
├── websocketserver3.png
├── websocketserver4.png
├── websocketserver5.png
├── websocketserver6.png
├── websocketserver7.png
├── websocketserver8.png
├── websocketserver9.png
├── welcome.fsd
├── welcome2-1.fsd
├── welcome2-layout.xml
├── welcome2.fsd
├── welcome2.png
├── welcome3.png
├── whatsthebuzz.png
├── winform.png
├── z-order.fsd
├── z1.png
├── z2.png
└── z3.png
├── Bootstrap.cs
├── CPOL.htm
├── Demos
├── Hello FlowSharpCode-layout.xml
├── Hello FlowSharpCode.fsd
├── Hope
│ ├── FFDemo-layout.xml
│ ├── FFDemo.fsd
│ ├── FFDemo2-layout.xml
│ ├── FFDemo2.fsd
│ ├── HelloWorld-layout.xml
│ ├── HelloWorld.fsd
│ ├── InsDemo-layout.xml
│ ├── InsDemo.fsd
│ ├── StandAlone-layout.xml
│ └── StandAlone.fsd
├── HuntTheWumpus-layout.xml
├── HuntTheWumpus.fsd
├── Python
│ ├── HelloWorld-layout.xml
│ └── HelloWorld.fsd
├── btntest-layout.xml
├── btntest.fsd
├── http vs websocket-layout.xml
├── http vs websocket.fsd
├── soundPlayer-layout.xml
├── soundPlayer.fsd
├── websockettest-layout.xml
├── websockettest.fsd
├── winctrl-test-layout.xml
└── winctrl-test.fsd
├── Drakon
├── drakonpart1eng-130606152516-phpapp02.pdf
├── drakonpart2eng-130610124216-phpapp01.pdf
└── drakonpart3eng-130612234848-phpapp02.pdf
├── FS-HOPE
├── CodeTester
│ ├── App.config
│ ├── CodeTester.csproj
│ ├── Program.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpHopeCommon
│ ├── BaseRouteHandlers.cs
│ ├── FlowSharpHopeCommon.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── PropertyContainer.cs
│ ├── PropertyData.cs
│ ├── ReceptorDescription.cs
│ └── WebServer.cs
├── FlowSharpHopeService
│ ├── Animator.cs
│ ├── AppDomainRunner.cs
│ ├── CarrierShape.cs
│ ├── FlowSharpHopeService.csproj
│ ├── HigherOrderProgrammingService.cs
│ ├── IRunner.cs
│ ├── InAppRunner.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RouteHandlers.cs
│ └── StandAloneRunner.cs
├── FlowSharpHopeServiceInterfaces
│ ├── FlowSharpHopeServiceInterfaces.csproj
│ ├── Interfaces.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpHopeShapeInterfaces
│ ├── FlowSharpHopeShapeInterfaces.csproj
│ ├── Interfaces.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FsHopeLib
│ ├── Agent.cs
│ ├── FsHopeLib.csproj
│ ├── FsHopeMembrane.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── HopeRunner
│ ├── HopeRunner.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Runner.cs
├── HopeRunnerAppDomainInterface
│ ├── HopeRunnerAppDomainInterface.csproj
│ ├── HopeRunnerInterface.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── HopeShapes
│ ├── AgentReceptorShape.cs
│ ├── AgentShape.cs
│ ├── HopeShapes.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── PropertyGridHelpers
│ │ ├── CustomClass.cs
│ │ ├── CustomProperty.cs
│ │ └── CustomPropertyDescriptor.cs
│ ├── PublishSemanticType.Designer.cs
│ ├── PublishSemanticType.cs
│ ├── PublishSemanticType.resx
│ └── SemanticTypeShape.cs
├── IFlowSharpHopeServiceInterface
│ ├── IFlowSharpHopeServiceInterface.csproj
│ ├── Interfaces.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
└── StandAloneRunner
│ ├── App.config
│ ├── HttpGet.cs
│ ├── Program.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── RouteHandlers.cs
│ └── StandAloneRunner.csproj
├── FlowSharp.csproj
├── FlowSharp.ico
├── FlowSharp.sln
├── FlowSharpClient
├── FlowSharpClient.csproj
├── Properties
│ └── AssemblyInfo.cs
└── WebSocketHelpers.cs
├── FlowSharpLib
├── BaseController.cs
├── Canvas.cs
├── CanvasController.cs
├── CanvasProperties.cs
├── Connection.cs
├── ConnectionPoint.cs
├── Connectors
│ ├── Connector.cs
│ ├── DiagonalConnector.cs
│ ├── DynamicConnector.cs
│ ├── DynamicConnectorLD.cs
│ ├── DynamicConnectorLR.cs
│ ├── DynamicConnectorProperties.cs
│ └── DynamicConnectorUD.cs
├── ElementCache.cs
├── ElementProperties.cs
├── ExtensionMethods.cs
├── FlowSharpLib.csproj
├── GraphicElement.cs
├── Interfaces.cs
├── Lib
│ └── Newtonsoft.Json.dll
├── LineProperties.cs
├── Persist.cs
├── Properties
│ └── AssemblyInfo.cs
├── ShapeAnchor.cs
├── ShapeProperties.cs
├── Shapes
│ ├── Box.cs
│ ├── Diamond.cs
│ ├── DownTriangle.cs
│ ├── Ellipse.cs
│ ├── GroupBox.cs
│ ├── Hexagon.cs
│ ├── HorizontalLine.cs
│ ├── LeftTriangle.cs
│ ├── Line.cs
│ ├── RightTriangle.cs
│ ├── TextShape.cs
│ ├── UpTriangle.cs
│ └── VerticalLine.cs
├── SnapController.cs
├── ToolboxShapeAttribute.cs
├── ToolboxText.cs
└── UndoRedo.cs
├── Libs
├── Clifton.Core.dll
├── Clifton.DockingFormService.dll
├── Clifton.SemanticProcessorService.dll
├── Clifton.WinForm.ServiceInterfaces.dll
├── HtmlAgilityPack.dll
├── ICSharpCode
│ ├── ICSharpCode.AvalonEdit.dll
│ ├── ICSharpCode.CodeCompletion.dll
│ ├── ICSharpCode.Core.Presentation.dll
│ ├── ICSharpCode.Core.dll
│ ├── ICSharpCode.NRefactory.CSharp.dll
│ ├── ICSharpCode.NRefactory.Cecil.dll
│ ├── ICSharpCode.NRefactory.Xml.dll
│ ├── ICSharpCode.NRefactory.dll
│ ├── ICSharpCode.SharpDevelop.Widgets.dll
│ ├── ICSharpCode.SharpDevelop.dll
│ ├── ICSharpCode.TreeView.dll
│ └── Mono.Cecil.dll
├── Newtonsoft.Json.dll
├── Renci.SshNet.dll
├── ScintillaNET.dll
├── WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll
├── WeifenLuo.WinFormsUI.Docking.dll
└── websocket-sharp.dll
├── Plugins
├── FlowSharpWindowsControlShapes
│ ├── ButtonShape.cs
│ ├── CheckboxShape.cs
│ ├── ComboBoxShape.cs
│ ├── ComboboxShapeProperties.cs
│ ├── ControlShape.cs
│ ├── ControlShapeProperties.cs
│ ├── Enums.cs
│ ├── FlowSharpWindowsControlShapes.csproj
│ ├── ListboxShape.cs
│ ├── ListboxShapeProperties.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── TextboxShape.cs
│ ├── TextboxShapeProperties.cs
│ ├── TrackbarShape.cs
│ └── TrackbarShapeProperties.cs
└── PluginExample
│ ├── GridBox.cs
│ ├── ImageShape.cs
│ ├── ImageShapeProperties.cs
│ ├── NavTo.cs
│ ├── NavToProperties.cs
│ ├── PluginExample.csproj
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── Resource1.Designer.cs
│ ├── Resource1.resx
│ └── Resources
│ └── DefaultImage.png
├── Program.cs
├── Properties
├── AssemblyInfo.cs
├── Resources.Designer.cs
├── Resources.resx
├── Settings.Designer.cs
└── Settings.settings
├── README.md
├── Resources
└── FlowSharp.ico
├── Services
├── FlowSharpCanvasService
│ ├── FlowSharpCanvasService.cs
│ ├── FlowSharpCanvasService.csproj
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpCodeServices
│ ├── FlowSharpCodeCompilerService
│ │ ├── FlowSharpCodeCompilerService.cs
│ │ ├── FlowSharpCodeCompilerService.csproj
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ ├── FlowSharpCodeDrakonShapes
│ │ ├── AngleBracketBox.cs
│ │ ├── BeginForLoopBox.cs
│ │ ├── EndForLoopBox.cs
│ │ ├── FlowSharpCodeDrakonShapes.csproj
│ │ ├── InputBox.cs
│ │ ├── OutputBox.cs
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ ├── FlowSharpCodeICSharpDevelopService
│ │ ├── CodeEditorService.cs
│ │ ├── FlowSharpCodeICSharpDevelopService.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── ScriptProvider.cs
│ ├── FlowSharpCodeOutputWindowService
│ │ ├── FlowSharpCodeOutputWindowService.cs
│ │ ├── FlowSharpCodeOutputWindowService.csproj
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ ├── FlowSharpCodePythonCompilerService
│ │ ├── FlowSharpCodePythonCompilerService.cs
│ │ ├── FlowSharpCodePythonCompilerService.csproj
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ ├── FlowSharpCodeScintillaEditorService
│ │ ├── CodeEditorService.cs
│ │ ├── FlowSharpCodeScintillaEditorService.csproj
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ ├── FlowSharpCodeService
│ │ ├── FlowSharpCodeService.cs
│ │ ├── FlowSharpCodeService.csproj
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ ├── FlowSharpCodeServiceInterfaces
│ │ ├── Constants.cs
│ │ ├── DrakonInstruction.cs
│ │ ├── FlowSharpCodeServiceInterfaces.csproj
│ │ ├── Membranes.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Services.cs
│ ├── FlowSharpCodeShapeInterfaces
│ │ ├── FlowSharpCodeShapeInterfaces.csproj
│ │ ├── Interfaces.cs
│ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ └── FlowSharpCodeShapes
│ │ ├── AssemblyBox.cs
│ │ ├── AssemblyReferenceBox.cs
│ │ ├── CSharpClassBox.cs
│ │ ├── FileBox.cs
│ │ ├── FlowSharpCodeShapes.csproj
│ │ ├── HtmlFileBox.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── PythonFileBox.cs
│ │ ├── ST_Instance.cs
│ │ └── WorkflowBox.cs
├── FlowSharpDebugWindowService
│ ├── DlgDebugWindow.Designer.cs
│ ├── DlgDebugWindow.cs
│ ├── DlgDebugWindow.resx
│ ├── DlgPlugins.Designer.cs
│ ├── DlgPlugins.cs
│ ├── DlgPlugins.resx
│ ├── FlowSharpDebugWindowService.cs
│ ├── FlowSharpDebugWindowService.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── TraceListener.cs
├── FlowSharpEditService
│ ├── FlowSharpEditService.cs
│ ├── FlowSharpEditService.csproj
│ ├── InterceptKeys.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpMenuService
│ ├── FlowSharpMenuService.cs
│ ├── FlowSharpMenuService.csproj
│ ├── Menu.cs
│ ├── MenuController.cs
│ ├── NavigateDlg.Designer.cs
│ ├── NavigateDlg.cs
│ ├── NavigateDlg.resx
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpMouseControllerService
│ ├── FlowSharpMouseControllerService.cs
│ ├── FlowSharpMouseControllerService.csproj
│ ├── MouseController.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpPropertyGridService
│ ├── FlowSharpPropertyGridService.cs
│ ├── FlowSharpPropertyGridService.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── PropertyGridController.cs
├── FlowSharpRestService
│ ├── CommandProcessor.cs
│ ├── FlowSharpRestService.cs
│ ├── FlowSharpRestService.csproj
│ ├── HttpGet.cs
│ ├── HttpSender.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Routes.cs
│ └── WebServer.cs
├── FlowSharpService
│ ├── FlowSharpService.cs
│ ├── FlowSharpService.csproj
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpServiceInterfaces
│ ├── ApiCommands.cs
│ ├── Constants.cs
│ ├── Enums.cs
│ ├── EventArgs.cs
│ ├── FlowSharpServiceInterfaces.csproj
│ ├── Interfaces.cs
│ ├── Membranes.cs
│ ├── Notifiers.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── FlowSharpToolboxService
│ ├── FlowSharpToolboxService.cs
│ ├── FlowSharpToolboxService.csproj
│ ├── PluginManager.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ToolboxCanvas.cs
│ └── ToolboxController.cs
└── FlowSharpWebSocketService
│ ├── FlowSharpWebSocketService.cs
│ ├── FlowSharpWebSocketService.csproj
│ ├── Properties
│ └── AssemblyInfo.cs
│ └── WebSocketSender.cs
├── bin
└── Debug
│ ├── FlowSharpCodeModules.xml
│ ├── WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll
│ ├── WeifenLuo.WinFormsUI.Docking.dll
│ ├── appmodules.xml
│ ├── defaultLayout.xml
│ ├── htwmodules.xml
│ ├── modules.xml
│ ├── personOfInterest.py
│ ├── plugins.txt
│ ├── soundPlayerModules.xml
│ ├── st_text_speak-layout.xml
│ └── two apps demo-layout.xml
└── todo.txt
/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Article/555-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/555-2.png
--------------------------------------------------------------------------------
/Article/555.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/555.gif
--------------------------------------------------------------------------------
/Article/555.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/555.png
--------------------------------------------------------------------------------
/Article/7476.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/7476.gif
--------------------------------------------------------------------------------
/Article/7476.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/7476.png
--------------------------------------------------------------------------------
/Article/IoT/FizzBuzzSimple-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/FizzBuzzSimple-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/WebSocketClientDemo-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/WebSocketClientDemo-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/arch2-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/arch2-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/arch3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/arch3.png
--------------------------------------------------------------------------------
/Article/IoT/arch4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/arch4.png
--------------------------------------------------------------------------------
/Article/IoT/arch5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/arch5.png
--------------------------------------------------------------------------------
/Article/IoT/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/architecture.png
--------------------------------------------------------------------------------
/Article/IoT/article-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/article-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/cswsc1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc1.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc10.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc2.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc3.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc4.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc5.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc6.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc7.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc8.png
--------------------------------------------------------------------------------
/Article/IoT/cswsc9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/cswsc9.png
--------------------------------------------------------------------------------
/Article/IoT/devscenario1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/devscenario1.png
--------------------------------------------------------------------------------
/Article/IoT/devscenario2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/devscenario2.png
--------------------------------------------------------------------------------
/Article/IoT/drakon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/drakon1.png
--------------------------------------------------------------------------------
/Article/IoT/drakon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/drakon2.png
--------------------------------------------------------------------------------
/Article/IoT/fb1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fb1.png
--------------------------------------------------------------------------------
/Article/IoT/fb2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fb2.png
--------------------------------------------------------------------------------
/Article/IoT/fb3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fb3.png
--------------------------------------------------------------------------------
/Article/IoT/fb4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fb4.png
--------------------------------------------------------------------------------
/Article/IoT/fizzbuz-no-arrows-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fizzbuz-no-arrows-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/fizzbuzz-code-behind-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fizzbuzz-code-behind-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/fizzbuzz-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/fizzbuzz-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/iot2-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/iot2-layout.xml
--------------------------------------------------------------------------------
/Article/IoT/pylint1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/pylint1.png
--------------------------------------------------------------------------------
/Article/IoT/sftp1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp1.png
--------------------------------------------------------------------------------
/Article/IoT/sftp2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp2.png
--------------------------------------------------------------------------------
/Article/IoT/sftp3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp3.png
--------------------------------------------------------------------------------
/Article/IoT/sftp4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp4.png
--------------------------------------------------------------------------------
/Article/IoT/sftp5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp5.png
--------------------------------------------------------------------------------
/Article/IoT/sftp6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp6.png
--------------------------------------------------------------------------------
/Article/IoT/sftp7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp7.png
--------------------------------------------------------------------------------
/Article/IoT/sftp8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sftp8.png
--------------------------------------------------------------------------------
/Article/IoT/sofar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/sofar.png
--------------------------------------------------------------------------------
/Article/IoT/wsc1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc1.png
--------------------------------------------------------------------------------
/Article/IoT/wsc10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc10.png
--------------------------------------------------------------------------------
/Article/IoT/wsc11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc11.png
--------------------------------------------------------------------------------
/Article/IoT/wsc12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc12.png
--------------------------------------------------------------------------------
/Article/IoT/wsc2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc2.png
--------------------------------------------------------------------------------
/Article/IoT/wsc3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc3.png
--------------------------------------------------------------------------------
/Article/IoT/wsc4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc4.png
--------------------------------------------------------------------------------
/Article/IoT/wsc5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc5.png
--------------------------------------------------------------------------------
/Article/IoT/wsc6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc6.png
--------------------------------------------------------------------------------
/Article/IoT/wsc7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc7.png
--------------------------------------------------------------------------------
/Article/IoT/wsc8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc8.png
--------------------------------------------------------------------------------
/Article/IoT/wsc9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wsc9.png
--------------------------------------------------------------------------------
/Article/IoT/wss1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss1.png
--------------------------------------------------------------------------------
/Article/IoT/wss2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss2.png
--------------------------------------------------------------------------------
/Article/IoT/wss3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss3.png
--------------------------------------------------------------------------------
/Article/IoT/wss4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss4.png
--------------------------------------------------------------------------------
/Article/IoT/wss5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss5.png
--------------------------------------------------------------------------------
/Article/IoT/wss6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss6.png
--------------------------------------------------------------------------------
/Article/IoT/wss7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/IoT/wss7.png
--------------------------------------------------------------------------------
/Article/app1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app1.png
--------------------------------------------------------------------------------
/Article/app2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app2.png
--------------------------------------------------------------------------------
/Article/app3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app3.png
--------------------------------------------------------------------------------
/Article/app4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app4.png
--------------------------------------------------------------------------------
/Article/app5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app5.png
--------------------------------------------------------------------------------
/Article/app6-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app6-small.png
--------------------------------------------------------------------------------
/Article/app6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/app6.png
--------------------------------------------------------------------------------
/Article/architecture overview-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/architecture overview-layout.xml
--------------------------------------------------------------------------------
/Article/architecture-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/architecture-layout.xml
--------------------------------------------------------------------------------
/Article/architecture-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/architecture-small.png
--------------------------------------------------------------------------------
/Article/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/architecture.png
--------------------------------------------------------------------------------
/Article/bookmark1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/bookmark1.png
--------------------------------------------------------------------------------
/Article/bookmark2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/bookmark2.png
--------------------------------------------------------------------------------
/Article/bpel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/bpel.png
--------------------------------------------------------------------------------
/Article/db.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/db.png
--------------------------------------------------------------------------------
/Article/flowaharp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/flowaharp.png
--------------------------------------------------------------------------------
/Article/flowsharp2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/flowsharp2.png
--------------------------------------------------------------------------------
/Article/flowsharpcode1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/flowsharpcode1.png
--------------------------------------------------------------------------------
/Article/flowsharpcode2.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/flowsharpcode2.htm
--------------------------------------------------------------------------------
/Article/fsc1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc1.png
--------------------------------------------------------------------------------
/Article/fsc2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc2.png
--------------------------------------------------------------------------------
/Article/fsc3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc3.png
--------------------------------------------------------------------------------
/Article/fsc4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc4.png
--------------------------------------------------------------------------------
/Article/fsc5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc5.png
--------------------------------------------------------------------------------
/Article/fsc6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc6.png
--------------------------------------------------------------------------------
/Article/fsc7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/fsc7.png
--------------------------------------------------------------------------------
/Article/grabbag.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/grabbag.jpg
--------------------------------------------------------------------------------
/Article/helloWorldDemo-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/helloWorldDemo-layout.xml
--------------------------------------------------------------------------------
/Article/helloWorldDemo.fsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 24
7 | 90
8 |
9 |
10 | 128
11 | 30
12 |
13 | 24
14 | 90
15 | 128
16 | 30
17 |
18 |
19 | 0
20 | 0
21 |
22 |
23 | 0
24 | 0
25 |
26 | 1
27 | None
28 | None
29 | 00000000-0000-0000-0000-000000000000
30 | 00000000-0000-0000-0000-000000000000
31 | Microsoft Sans Serif
32 | 10
33 | false
34 | false
35 | false
36 | {"Code":"using System;\r\n\r\nnamespace App\r\n{\r\n\tpublic static class Program\r\n\t{\r\n\t\tpublic static void Main()\r\n\t\t{\r\n\t\t\tConsole.WriteLine(\"Hello World!\");\r\n\t\t\tConsole.ReadLine();\r\n\t\t}\r\n\t}\r\n}"}
37 |
38 |
39 | MiddleCenter
40 | -16777216
41 | -16777216
42 | -1
43 |
44 |
--------------------------------------------------------------------------------
/Article/httpserver1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver1.png
--------------------------------------------------------------------------------
/Article/httpserver2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver2.png
--------------------------------------------------------------------------------
/Article/httpserver3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver3.png
--------------------------------------------------------------------------------
/Article/httpserver4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver4.png
--------------------------------------------------------------------------------
/Article/httpserver5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver5.png
--------------------------------------------------------------------------------
/Article/httpserver6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver6.png
--------------------------------------------------------------------------------
/Article/httpserver7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver7.png
--------------------------------------------------------------------------------
/Article/httpserver8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver8.png
--------------------------------------------------------------------------------
/Article/httpserver9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/httpserver9.png
--------------------------------------------------------------------------------
/Article/img1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img1.png
--------------------------------------------------------------------------------
/Article/img10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img10.png
--------------------------------------------------------------------------------
/Article/img11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img11.png
--------------------------------------------------------------------------------
/Article/img12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img12.png
--------------------------------------------------------------------------------
/Article/img13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img13.png
--------------------------------------------------------------------------------
/Article/img14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img14.png
--------------------------------------------------------------------------------
/Article/img15-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img15-1.png
--------------------------------------------------------------------------------
/Article/img15-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img15-2.png
--------------------------------------------------------------------------------
/Article/img15-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img15-3.png
--------------------------------------------------------------------------------
/Article/img15-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img15-4.png
--------------------------------------------------------------------------------
/Article/img16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img16.png
--------------------------------------------------------------------------------
/Article/img17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img17.png
--------------------------------------------------------------------------------
/Article/img18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img18.png
--------------------------------------------------------------------------------
/Article/img19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img19.png
--------------------------------------------------------------------------------
/Article/img2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img2.png
--------------------------------------------------------------------------------
/Article/img20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img20.png
--------------------------------------------------------------------------------
/Article/img21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img21.png
--------------------------------------------------------------------------------
/Article/img22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img22.png
--------------------------------------------------------------------------------
/Article/img23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img23.png
--------------------------------------------------------------------------------
/Article/img24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img24.png
--------------------------------------------------------------------------------
/Article/img25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img25.png
--------------------------------------------------------------------------------
/Article/img26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img26.png
--------------------------------------------------------------------------------
/Article/img27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img27.png
--------------------------------------------------------------------------------
/Article/img28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img28.png
--------------------------------------------------------------------------------
/Article/img29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img29.png
--------------------------------------------------------------------------------
/Article/img3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img3.png
--------------------------------------------------------------------------------
/Article/img30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img30.png
--------------------------------------------------------------------------------
/Article/img31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img31.png
--------------------------------------------------------------------------------
/Article/img32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img32.png
--------------------------------------------------------------------------------
/Article/img33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img33.png
--------------------------------------------------------------------------------
/Article/img34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img34.png
--------------------------------------------------------------------------------
/Article/img35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img35.png
--------------------------------------------------------------------------------
/Article/img36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img36.png
--------------------------------------------------------------------------------
/Article/img37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img37.png
--------------------------------------------------------------------------------
/Article/img38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img38.png
--------------------------------------------------------------------------------
/Article/img39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img39.png
--------------------------------------------------------------------------------
/Article/img4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img4.png
--------------------------------------------------------------------------------
/Article/img40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img40.png
--------------------------------------------------------------------------------
/Article/img5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img5.png
--------------------------------------------------------------------------------
/Article/img6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img6.png
--------------------------------------------------------------------------------
/Article/img7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img7.png
--------------------------------------------------------------------------------
/Article/img8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img8.png
--------------------------------------------------------------------------------
/Article/img9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/img9.png
--------------------------------------------------------------------------------
/Article/intercomms-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/intercomms-layout.xml
--------------------------------------------------------------------------------
/Article/intercomms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/intercomms.png
--------------------------------------------------------------------------------
/Article/js2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/js2.png
--------------------------------------------------------------------------------
/Article/negwidth1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/negwidth1.png
--------------------------------------------------------------------------------
/Article/negwidth2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/negwidth2.png
--------------------------------------------------------------------------------
/Article/negwidth3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/negwidth3.png
--------------------------------------------------------------------------------
/Article/negwidth4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/negwidth4.png
--------------------------------------------------------------------------------
/Article/objectModel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/objectModel.png
--------------------------------------------------------------------------------
/Article/outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/outline.png
--------------------------------------------------------------------------------
/Article/overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/overview.png
--------------------------------------------------------------------------------
/Article/scratch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/scratch.png
--------------------------------------------------------------------------------
/Article/sem1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem1.png
--------------------------------------------------------------------------------
/Article/sem2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem2.png
--------------------------------------------------------------------------------
/Article/sem3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem3.png
--------------------------------------------------------------------------------
/Article/sem4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem4.png
--------------------------------------------------------------------------------
/Article/sem5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem5.png
--------------------------------------------------------------------------------
/Article/sem6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem6.png
--------------------------------------------------------------------------------
/Article/sem7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem7.png
--------------------------------------------------------------------------------
/Article/sem8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/sem8.png
--------------------------------------------------------------------------------
/Article/snapping.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/snapping.png
--------------------------------------------------------------------------------
/Article/soundPlayer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/soundPlayer.png
--------------------------------------------------------------------------------
/Article/speaker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/speaker.png
--------------------------------------------------------------------------------
/Article/ui1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/ui1.png
--------------------------------------------------------------------------------
/Article/ui2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/ui2.png
--------------------------------------------------------------------------------
/Article/ui3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/ui3.png
--------------------------------------------------------------------------------
/Article/uiObjectModel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/uiObjectModel.png
--------------------------------------------------------------------------------
/Article/umlactor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/umlactor.png
--------------------------------------------------------------------------------
/Article/undo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/undo1.png
--------------------------------------------------------------------------------
/Article/undo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/undo2.png
--------------------------------------------------------------------------------
/Article/undo3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/undo3.jpg
--------------------------------------------------------------------------------
/Article/v1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/v1.png
--------------------------------------------------------------------------------
/Article/vsinfo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/vsinfo.png
--------------------------------------------------------------------------------
/Article/websocketserver1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver1.png
--------------------------------------------------------------------------------
/Article/websocketserver10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver10.png
--------------------------------------------------------------------------------
/Article/websocketserver11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver11.png
--------------------------------------------------------------------------------
/Article/websocketserver2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver2.png
--------------------------------------------------------------------------------
/Article/websocketserver3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver3.png
--------------------------------------------------------------------------------
/Article/websocketserver4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver4.png
--------------------------------------------------------------------------------
/Article/websocketserver5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver5.png
--------------------------------------------------------------------------------
/Article/websocketserver6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver6.png
--------------------------------------------------------------------------------
/Article/websocketserver7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver7.png
--------------------------------------------------------------------------------
/Article/websocketserver8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver8.png
--------------------------------------------------------------------------------
/Article/websocketserver9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/websocketserver9.png
--------------------------------------------------------------------------------
/Article/welcome2-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/welcome2-layout.xml
--------------------------------------------------------------------------------
/Article/welcome2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/welcome2.png
--------------------------------------------------------------------------------
/Article/welcome3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/welcome3.png
--------------------------------------------------------------------------------
/Article/whatsthebuzz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/whatsthebuzz.png
--------------------------------------------------------------------------------
/Article/winform.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/winform.png
--------------------------------------------------------------------------------
/Article/z1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/z1.png
--------------------------------------------------------------------------------
/Article/z2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/z2.png
--------------------------------------------------------------------------------
/Article/z3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Article/z3.png
--------------------------------------------------------------------------------
/CPOL.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/CPOL.htm
--------------------------------------------------------------------------------
/Demos/Hello FlowSharpCode-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Hello FlowSharpCode-layout.xml
--------------------------------------------------------------------------------
/Demos/Hello FlowSharpCode.fsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 25
7 | 34
8 |
9 |
10 | 256
11 | 60
12 |
13 | 25
14 | 34
15 | 256
16 | 60
17 |
18 |
19 | 0
20 | 0
21 |
22 |
23 | 0
24 | 0
25 |
26 | 1
27 | None
28 | None
29 | 00000000-0000-0000-0000-000000000000
30 | 00000000-0000-0000-0000-000000000000
31 | Microsoft Sans Serif
32 | 10
33 | false
34 | false
35 | false
36 | {"Code":"using System;\r\n\r\nnamespace App\r\n{\r\n\tpublic static class Program\r\n\t{\r\n\t\tpublic static void Main()\r\n\t\t{\r\n\t\t\tConsole.WriteLine(\"Hello FlowSharpCode!\");\r\n\t\t\tConsole.ReadLine();\r\n\t\t}\r\n\t}\r\n}"}
37 |
38 |
39 | MiddleCenter
40 | -16777216
41 | -16777216
42 | -1
43 |
44 |
--------------------------------------------------------------------------------
/Demos/Hope/FFDemo-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Hope/FFDemo-layout.xml
--------------------------------------------------------------------------------
/Demos/Hope/FFDemo2-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Hope/FFDemo2-layout.xml
--------------------------------------------------------------------------------
/Demos/Hope/HelloWorld-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Hope/HelloWorld-layout.xml
--------------------------------------------------------------------------------
/Demos/Hope/InsDemo-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Hope/InsDemo-layout.xml
--------------------------------------------------------------------------------
/Demos/Hope/StandAlone-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Hope/StandAlone-layout.xml
--------------------------------------------------------------------------------
/Demos/HuntTheWumpus-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/HuntTheWumpus-layout.xml
--------------------------------------------------------------------------------
/Demos/Python/HelloWorld-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/Python/HelloWorld-layout.xml
--------------------------------------------------------------------------------
/Demos/Python/HelloWorld.fsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 180
7 | 134
8 |
9 |
10 | 248
11 | 59
12 |
13 | 180
14 | 134
15 | 248
16 | 59
17 |
18 |
19 | 0
20 | 0
21 |
22 |
23 | 0
24 | 0
25 |
26 | 0
27 | 0
28 | 1
29 | None
30 | None
31 | 00000000-0000-0000-0000-000000000000
32 | 00000000-0000-0000-0000-000000000000
33 | Microsoft Sans Serif
34 | 10
35 | false
36 | false
37 | false
38 | false
39 | HelloWorld.py
40 | {"python":"#pylint: disable=C0111, C0301, C0303, W0311, W0614, W0401, W0232, W0702, W0703, W0201\nprint(\"Hello World\")\r\n","GenerateClass":"True","TextChanged":"True"}
41 |
42 |
43 | TopLeft
44 | false
45 | -16777216
46 | -16777216
47 | -1
48 |
49 |
--------------------------------------------------------------------------------
/Demos/btntest-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/btntest-layout.xml
--------------------------------------------------------------------------------
/Demos/http vs websocket-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/http vs websocket-layout.xml
--------------------------------------------------------------------------------
/Demos/soundPlayer-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/soundPlayer-layout.xml
--------------------------------------------------------------------------------
/Demos/websockettest-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/websockettest-layout.xml
--------------------------------------------------------------------------------
/Demos/websockettest.fsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 20
7 | 20
8 |
9 |
10 | 155
11 | 60
12 |
13 | 20
14 | 20
15 | 155
16 | 60
17 |
18 |
19 | 0
20 | 0
21 |
22 |
23 | 0
24 | 0
25 |
26 | 1
27 | None
28 | None
29 | 00000000-0000-0000-0000-000000000000
30 | 00000000-0000-0000-0000-000000000000
31 | Microsoft Sans Serif
32 | 10
33 | false
34 | false
35 | false
36 | {"Code":"using System;\r\nusing WebSocketSharp;\r\n\r\nnamespace App\r\n{\r\n\tpublic class MyListener { }\t\r\n\r\n\tpublic static class Program\r\n\t{\r\n\t\tpublic static void Main()\r\n\t\t{\r\n\t\t\tWebSocket ws = new WebSocket(\"ws://127.0.0.1:1100/flowsharp\", new MyListener());\t\r\n\t\t\tws.Connect();\r\n\t\t\tws.Send(\"cmd=CmdUpdateProperty&Name=box&PropertyName=Text&Value=Hello World\");\r\n\t\t\tConsole.WriteLine(\"Press a key to exit.\");\r\n\t\t\tConsole.ReadLine();\r\n\t\t}\r\n\t}\r\n}"}
37 |
38 |
39 | MiddleCenter
40 | -16777216
41 | -16777216
42 | -1
43 |
44 |
--------------------------------------------------------------------------------
/Demos/winctrl-test-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Demos/winctrl-test-layout.xml
--------------------------------------------------------------------------------
/Drakon/drakonpart1eng-130606152516-phpapp02.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Drakon/drakonpart1eng-130606152516-phpapp02.pdf
--------------------------------------------------------------------------------
/Drakon/drakonpart2eng-130610124216-phpapp01.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Drakon/drakonpart2eng-130610124216-phpapp01.pdf
--------------------------------------------------------------------------------
/Drakon/drakonpart3eng-130612234848-phpapp02.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Drakon/drakonpart3eng-130612234848-phpapp02.pdf
--------------------------------------------------------------------------------
/FS-HOPE/CodeTester/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/FS-HOPE/CodeTester/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("CodeTester")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("CodeTester")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("0aed1c57-15f0-49f9-a375-b56e8ce1f8a8")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeCommon/BaseRouteHandlers.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Net;
4 |
5 | namespace FlowSharpHopeCommon
6 | {
7 | public abstract class BaseRouteHandlers
8 | {
9 | public Dictionary> Routes { get { return routes; } }
10 | protected Dictionary> routes;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeCommon/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpHopeCommon")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("FlowSharpHopeCommon")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("7b0e168e-8b6b-4dbf-9763-46b6232a2da7")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeCommon/PropertyContainer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace FlowSharpHopeCommon
4 | {
5 | public class PropertyContainer
6 | {
7 | public List Types { get; set; }
8 |
9 | public PropertyContainer()
10 | {
11 | Types = new List();
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeCommon/PropertyData.cs:
--------------------------------------------------------------------------------
1 | namespace FlowSharpHopeCommon
2 | {
3 | public class PropertyData
4 | {
5 | public string Category { get; set; }
6 | public string Description { get; set; }
7 | public string Name { get; set; }
8 | public string TypeName { get; set; }
9 | public string Value { get; set; }
10 | public PropertyContainer ChildType { get; set; }
11 |
12 | public PropertyData()
13 | {
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeCommon/ReceptorDescription.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace FlowSharpHopeCommon
4 | {
5 | public class ReceptorDescription
6 | {
7 | ///
8 | /// The type name of the receptor class that receives the ReceptorSemanticType and optionally publishes other types.
9 | ///
10 | public string ReceptorTypeName { get; set; }
11 |
12 | ///
13 | /// The semantic type that the receptor Process method receives.
14 | ///
15 | public string ReceivingSemanticType { get; set; }
16 |
17 | ///
18 | /// The types that the receptor Process method publishes.
19 | ///
20 | public List Publishes { get; set; }
21 |
22 | public ReceptorDescription()
23 | {
24 | Publishes = new List();
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeService/IRunner.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | using FlowSharpHopeCommon;
5 |
6 | namespace FlowSharpHopeService
7 | {
8 | public interface IRunner
9 | {
10 | bool Loaded { get; }
11 | event EventHandler Processing;
12 |
13 | ///
14 | /// DLL or EXE name
15 | ///
16 | void Load(string fullName);
17 |
18 | void Unload();
19 | List DescribeReceptor(string name);
20 | void InstantiateReceptor(string name);
21 | void EnableDisableReceptor(string typeName, bool state);
22 | PropertyContainer DescribeSemanticType(string typeName);
23 | void Publish(string typeName, object st);
24 | void Publish(string typeName, string json);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpHopeService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpHopeService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("85be4c98-f377-4e78-b3ef-01c675a25db8")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeService/RouteHandlers.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Net;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | using Newtonsoft.Json;
8 |
9 | using Clifton.Core.ExtensionMethods;
10 |
11 | using FlowSharpHopeCommon;
12 |
13 | namespace FlowSharpHopeService
14 | {
15 | public class RouteHandlers : BaseRouteHandlers
16 | {
17 | protected const string PROCESSING = "processing";
18 | protected StandAloneRunner runner;
19 |
20 | public RouteHandlers(StandAloneRunner runner)
21 | {
22 | this.runner = runner;
23 |
24 | routes = new Dictionary>()
25 | {
26 | {PROCESSING, Processing},
27 | };
28 | }
29 |
30 | protected (string text, string mime) Processing(HttpListenerContext context, string data)
31 | {
32 | var stMsg = JsonConvert.DeserializeObject(data.RightOf('='));
33 | runner.ProcessMessage(stMsg);
34 |
35 | return ("OK", "text/text");
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeServiceInterfaces/Interfaces.cs:
--------------------------------------------------------------------------------
1 | using Clifton.Core.ServiceManagement;
2 |
3 | using FlowSharpHopeCommon;
4 |
5 | namespace FlowSharpHopeServiceInterfaces
6 | {
7 | public interface IHigherOrderProgrammingService : IService
8 | {
9 | bool RunnerLoaded { get; }
10 | void LoadHopeAssembly();
11 | void UnloadHopeAssembly();
12 | void InstantiateReceptors();
13 | void EnableDisableReceptor(string typeName, bool state);
14 | PropertyContainer DescribeSemanticType(string typeName);
15 | void Publish(string typeName, object st);
16 | void Publish(string typeName, string json);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeServiceInterfaces/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpHopeServiceInterfaces")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpHopeServiceInterfaces")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("5484797e-7b0e-40ac-962b-185073672e7c")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeShapeInterfaces/FlowSharpHopeShapeInterfaces.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {087E600F-F5A4-430F-97A9-94E5F52673F8}
8 | Library
9 | Properties
10 | FlowSharpHopeShapeInterfaces
11 | FlowSharpHopeShapeInterfaces
12 | v4.5.2
13 | 512
14 |
15 |
16 | true
17 | full
18 | false
19 | bin\Debug\
20 | DEBUG;TRACE
21 | prompt
22 | 4
23 |
24 |
25 | pdbonly
26 | true
27 | bin\Release\
28 | TRACE
29 | prompt
30 | 4
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeShapeInterfaces/Interfaces.cs:
--------------------------------------------------------------------------------
1 | using System.Drawing;
2 |
3 | namespace FlowSharpHopeShapeInterfaces
4 | {
5 | public interface IAgent { }
6 |
7 | public interface IAgentReceptor
8 | {
9 | string AgentName { get;}
10 | string Text { get; }
11 | bool Enabled { get; }
12 | Color EnabledColor { get; }
13 | }
14 |
15 | public interface ISemanticTypeShape { }
16 | }
17 |
--------------------------------------------------------------------------------
/FS-HOPE/FlowSharpHopeShapeInterfaces/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpHopeShapeInterfaces")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpHopeShapeInterfaces")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("087e600f-f5a4-430f-97a9-94e5f52673f8")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/FsHopeLib/Agent.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Linq;
10 | using System.Text;
11 | using System.Threading.Tasks;
12 |
13 | using Clifton.Core.ExtensionMethods;
14 | using Clifton.Core.ModuleManagement;
15 | using Clifton.Core.Semantics;
16 | using Clifton.Core.ServiceManagement;
17 |
18 | namespace FsHopeLib
19 | {
20 | public abstract class Agent : IReceptor
21 | {
22 | // ServiceManager.Get().Register();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/FS-HOPE/FsHopeLib/FsHopeMembrane.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using Clifton.Core.Semantics;
8 |
9 | namespace FsHopeLib
10 | {
11 | public class FsHopeMembrane : Membrane { }
12 | }
13 |
--------------------------------------------------------------------------------
/FS-HOPE/FsHopeLib/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FsHopeLib")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("FsHopeLib")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("032b8e55-9233-47b6-bd67-4a4ece158039")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeRunner/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("HopeRunner")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("HopeRunner")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("6c543371-0da1-4e8a-ac3e-52f17613ff22")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeRunner/Runner.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using System.Reflection;
4 |
5 | using Clifton.Core.Semantics;
6 |
7 | using Clifton.Core.Services.SemanticProcessorService;
8 | using HopeRunnerAppDomainInterface;
9 |
10 | namespace HopeRunner
11 | {
12 | public class HopeMembrane : Membrane { }
13 |
14 | [Serializable]
15 | public class Runner : MarshalByRefObject, IHopeRunner
16 | {
17 | protected SemanticProcessor sp;
18 | protected HopeMembrane membrane;
19 |
20 | public Runner()
21 | {
22 | sp = new SemanticProcessor();
23 | membrane = new HopeMembrane();
24 | sp.RegisterMembrane();
25 | }
26 |
27 | public void InstantiateReceptor(string typeName)
28 | {
29 | var agent = Assembly.GetExecutingAssembly().GetTypes().SingleOrDefault(at => at.IsClass && at.IsPublic && at.Name == typeName);
30 | IReceptor receptor = (IReceptor)Activator.CreateInstance(agent);
31 | sp.Register(receptor);
32 | }
33 |
34 | public ISemanticType InstantiateSemanticType(string typeName)
35 | {
36 | Type st = Assembly.GetExecutingAssembly().GetTypes().SingleOrDefault(t => t.IsClass && t.IsPublic && t.GetInterfaces().Any(i => i.Name == nameof(ISemanticType)));
37 | ISemanticType inst = (ISemanticType)Activator.CreateInstance(st);
38 |
39 | return inst;
40 | }
41 |
42 | public void Publish(ISemanticType st)
43 | {
44 | sp.ProcessInstance(st);
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeRunnerAppDomainInterface/HopeRunnerInterface.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Clifton.Core.Semantics;
4 |
5 | namespace HopeRunnerAppDomainInterface
6 | {
7 | [Serializable]
8 | public class ProcessEventArgs : EventArgs
9 | {
10 | public string FromMembraneTypeName { get; set; }
11 | public string FromReceptorTypeName { get; set; }
12 | public string ToMembraneTypeName { get; set; }
13 | public string ToReceptorTypeName { get; set; }
14 | public string SemanticTypeTypeName { get; set; }
15 |
16 | public ProcessEventArgs() { }
17 |
18 | public ProcessEventArgs(string fromMembraneTypeName, string fromReceptorTypeName, string toMembraneTypeName, string toReceptorTypeName, string stTypeName)
19 | {
20 | FromMembraneTypeName = fromMembraneTypeName;
21 | FromReceptorTypeName = fromReceptorTypeName;
22 | ToMembraneTypeName = toMembraneTypeName;
23 | ToReceptorTypeName = toReceptorTypeName;
24 | SemanticTypeTypeName = stTypeName;
25 | }
26 | }
27 |
28 | public interface IHopeRunner
29 | {
30 | event EventHandler Processing;
31 | void InstantiateReceptor(string typeName);
32 | void EnableDisableReceptor(string typeName, bool state);
33 | ISemanticType InstantiateSemanticType(string typeName);
34 | void Publish(ISemanticType st);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeRunnerAppDomainInterface/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("HopeRunnerAppDomainInterface")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("HopeRunnerAppDomainInterface")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("eb69e349-53a1-45ca-8982-988b9bc557a3")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeShapes/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("HopeShapes")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("HopeShapes")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("d2031348-e8a6-4895-a4b8-a7f6093be054")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeShapes/PropertyGridHelpers/CustomProperty.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace HopeShapes.PropertyGridHelpers
4 | {
5 | // From: https://www.codeproject.com/Articles/9280/Add-Remove-Items-to-from-PropertyGrid-at-Runtime
6 | public class CustomProperty
7 | {
8 | public string Root { get; set; }
9 | public string Name { get; set; }
10 | public bool ReadOnly { get; set; }
11 | public bool Visible { get; set; }
12 | public object Value { get; set; }
13 | public string Description { get; set; }
14 | public string Category { get; set; }
15 | public Type PropertyType { get; set; }
16 |
17 | public CustomProperty(string root, string name, object value, string description, string category, Type propertyType, bool readOnly = false, bool visible = true)
18 | {
19 | Root = root;
20 | Name = name;
21 | Value = value;
22 | ReadOnly = readOnly;
23 | Visible = visible;
24 | Description = description;
25 | Category = category;
26 | PropertyType = propertyType;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/FS-HOPE/HopeShapes/PropertyGridHelpers/CustomPropertyDescriptor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 |
4 | namespace HopeShapes.PropertyGridHelpers
5 | {
6 | // From: https://www.codeproject.com/Articles/9280/Add-Remove-Items-to-from-PropertyGrid-at-Runtime
7 | public class CustomPropertyDescriptor : PropertyDescriptor
8 | {
9 | CustomProperty m_Property;
10 |
11 | public CustomPropertyDescriptor(ref CustomProperty myProperty, Attribute[] attrs) : base(myProperty.Name, attrs)
12 | {
13 | m_Property = myProperty;
14 | }
15 |
16 | public override bool CanResetValue(object component)
17 | {
18 | return false;
19 | }
20 |
21 | public override Type ComponentType
22 | {
23 | get
24 | {
25 | return null;
26 | }
27 | }
28 |
29 | public override object GetValue(object component)
30 | {
31 | return m_Property.Value;
32 | }
33 |
34 | public override string Description
35 | {
36 | get
37 | {
38 | return m_Property.Description;
39 | }
40 | }
41 |
42 | public override string Category
43 | {
44 | get
45 | {
46 | return m_Property.Category;
47 | }
48 | }
49 |
50 | public override string DisplayName
51 | {
52 | get
53 | {
54 | return m_Property.Name;
55 | }
56 |
57 | }
58 |
59 | public override bool IsReadOnly
60 | {
61 | get
62 | {
63 | return m_Property.ReadOnly;
64 | }
65 | }
66 |
67 | public override void ResetValue(object component)
68 | {
69 | //Have to implement
70 | }
71 |
72 | public override bool ShouldSerializeValue(object component)
73 | {
74 | return false;
75 | }
76 |
77 | public override void SetValue(object component, object value)
78 | {
79 | m_Property.Value = value;
80 | }
81 |
82 | public override Type PropertyType
83 | {
84 | get { return m_Property.PropertyType; }
85 | }
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/FS-HOPE/IFlowSharpHopeServiceInterface/IFlowSharpHopeServiceInterface.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {39F34133-6FBC-40D0-B9BE-2FED5A7DB8C6}
8 | Library
9 | Properties
10 | IFlowSharpHopeServiceInterface
11 | IFlowSharpHopeServiceInterface
12 | v4.5.2
13 | 512
14 |
15 |
16 | true
17 | full
18 | false
19 | bin\Debug\
20 | DEBUG;TRACE
21 | prompt
22 | 4
23 |
24 |
25 | pdbonly
26 | true
27 | bin\Release\
28 | TRACE
29 | prompt
30 | 4
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/FS-HOPE/IFlowSharpHopeServiceInterface/Interfaces.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | using Clifton.Core.Assertions;
8 | using Clifton.Core.ExtensionMethods;
9 | using Clifton.Core.ModuleManagement;
10 | using Clifton.Core.ServiceManagement;
11 |
12 | namespace FlowSharpHopeServiceInterface
13 | {
14 | public interface IHigherOrderProgrammingService : IService
15 | {
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/FS-HOPE/IFlowSharpHopeServiceInterface/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("IFlowSharpHopeServiceInterface")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("IFlowSharpHopeServiceInterface")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("39f34133-6fbc-40d0-b9be-2fed5a7db8c6")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FS-HOPE/StandAloneRunner/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/FS-HOPE/StandAloneRunner/HttpGet.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Net;
8 | using System.IO;
9 |
10 | namespace FlowSharpRestService
11 | {
12 | public static class Http
13 | {
14 | public static string Get(string uri)
15 | {
16 | WebClient client = new WebClient();
17 |
18 | // Add a user agent header in case the
19 | // requested URI contains a query.
20 |
21 | client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
22 |
23 | Stream data = client.OpenRead(uri);
24 | StreamReader reader = new StreamReader(data);
25 | string s = reader.ReadToEnd();
26 | data.Close();
27 | reader.Close();
28 |
29 | return s;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/FS-HOPE/StandAloneRunner/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Windows.Forms;
4 |
5 | using Newtonsoft.Json;
6 |
7 | using Clifton.Core.Semantics;
8 | using Clifton.Core.Services.SemanticProcessorService;
9 |
10 | using FlowSharpHopeCommon;
11 | using FlowSharpRestService;
12 |
13 | namespace StandAloneRunner
14 | {
15 | ///
16 | /// For testing the FlowSharpHopeService.StandAloneRunner.
17 | /// Note that this project references a DLL built by FlowSharpHopeService.
18 | ///
19 | class Program
20 | {
21 | public static TextBox tbLog;
22 | public static Form form;
23 | public static SemanticProcessor sp;
24 |
25 | private static string url = "http://localhost:5002/";
26 | protected const string PROCESSING = "processing";
27 |
28 | [STAThread]
29 | static void Main(string[] args)
30 | {
31 | Application.EnableVisualStyles();
32 | Application.SetCompatibleTextRenderingDefault(false);
33 |
34 | sp = new SemanticProcessor();
35 | sp.Processing += Processing;
36 |
37 | RouteHandlers routeHandlers = new RouteHandlers(sp);
38 |
39 | WebServer webServer = new WebServer(routeHandlers);
40 | webServer.Start("localhost", new int[] { 5001 });
41 |
42 | form = new Form();
43 | form.Location = new Point(100, 100);
44 | form.Size = new Size(500, 200);
45 | form.Text = "Stand Alone Runner";
46 |
47 | tbLog = new TextBox();
48 | tbLog.Multiline = true;
49 | tbLog.Dock = DockStyle.Fill;
50 | form.Controls.Add(tbLog);
51 |
52 | Application.Run(form);
53 | }
54 |
55 | private static void Processing(object sender, ProcessEventArgs args)
56 | {
57 | string json = JsonConvert.SerializeObject(new
58 | {
59 | FromMembraneTypeName = args.FromMembrane?.GetType()?.FullName,
60 | FromReceptorTypeName = args.FromReceptor?.GetType()?.FullName,
61 | ToMembraneTypeName = args.ToMembrane.GetType().FullName,
62 | ToReceptorTypeName = args.ToReceptor.GetType().FullName,
63 | SemanticTypeTypeName = args.SemanticType.GetType().FullName,
64 | });
65 |
66 | Http.Get(url + PROCESSING + "?proc=" + json);
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/FS-HOPE/StandAloneRunner/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("StandAloneRunner")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("StandAloneRunner")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("eab1be73-9426-42f1-8113-4c8511a6bbeb")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FlowSharp.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/FlowSharp.ico
--------------------------------------------------------------------------------
/FlowSharpClient/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpClient")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("FlowSharpClient")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("31890a66-32ad-4d5f-a5a3-f9976996111c")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FlowSharpLib/CanvasProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using Clifton.Core.ExtensionMethods;
10 |
11 | namespace FlowSharpLib
12 | {
13 | public class CanvasProperties : IPropertyObject
14 | {
15 | [Category("Canvas")]
16 | public string Name { get; set; }
17 | [Category("Canvas")]
18 | public string Filename { get; set; }
19 |
20 | protected Canvas canvas;
21 |
22 | public CanvasProperties(Canvas canvas)
23 | {
24 | this.canvas = canvas;
25 | Name = canvas.Controller.CanvasName;
26 | Filename= canvas.Controller.Filename;
27 | }
28 |
29 | public void Update(string label)
30 | {
31 | (label == nameof(Name)).If(() => canvas.Controller.CanvasName = Name);
32 | (label == nameof(Filename)).If(() => canvas.Controller.Filename = Filename);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/FlowSharpLib/Connection.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Linq;
10 |
11 | namespace FlowSharpLib
12 | {
13 | // !!! If this class ends up being subclassed for any reason, the serializer must be updated to account for subclasses !!!
14 | ///
15 | /// Used for shapes connecting to lines.
16 | ///
17 | public class Connection
18 | {
19 | public GraphicElement ToElement { get; set; }
20 | public ConnectionPoint ToConnectionPoint { get; set; }
21 | public ConnectionPoint ElementConnectionPoint { get; set; }
22 |
23 | public void Serialize(ElementPropertyBag epb, IEnumerable elementsBeingSerialized)
24 | {
25 | // If partial serialization (like copying a subset of shapes, don't include unselected connectors.)
26 | if (elementsBeingSerialized.Contains(ToElement))
27 | {
28 | ConnectionPropertyBag cpb = new ConnectionPropertyBag();
29 | cpb.ToElementId = ToElement.Id;
30 | cpb.ToConnectionPoint = ToConnectionPoint;
31 | cpb.ElementConnectionPoint = ElementConnectionPoint;
32 | epb.Connections.Add(cpb);
33 | }
34 | }
35 |
36 | public void Deserialize(List elements, ConnectionPropertyBag cpb, Dictionary oldNewGuidMap)
37 | {
38 | ToElement = elements.Single(e => e.Id == oldNewGuidMap[cpb.ToElementId]);
39 | ToConnectionPoint = cpb.ToConnectionPoint;
40 | ElementConnectionPoint = cpb.ElementConnectionPoint;
41 | }
42 | }
43 | }
44 |
45 |
--------------------------------------------------------------------------------
/FlowSharpLib/Connectors/DynamicConnectorProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using Clifton.Core.ExtensionMethods;
10 |
11 | namespace FlowSharpLib
12 | {
13 | public class DynamicConnectorProperties : ElementProperties
14 | {
15 | [Category("Endcaps")]
16 | public AvailableLineCap StartCap { get; set; }
17 | [Category("Endcaps")]
18 | public AvailableLineCap EndCap { get; set; }
19 |
20 | public DynamicConnectorProperties(DynamicConnector el) : base(el)
21 | {
22 | StartCap = el.StartCap;
23 | EndCap = el.EndCap;
24 | }
25 |
26 | public override void Update(GraphicElement el, string label)
27 | {
28 | // X1
29 | //(label == nameof(StartCap)).If(()=> this.ChangePropertyWithUndoRedo(el, nameof(StartCap), nameof(StartCap)));
30 | //(label == nameof(StartCap)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(EndCap), nameof(EndCap)));
31 | (label == nameof(StartCap)).If(() => ((Connector)el).StartCap = StartCap);
32 | (label == nameof(EndCap)).If(() => ((Connector)el).EndCap = EndCap);
33 | base.Update(el, label);
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/FlowSharpLib/ElementCache.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | // ElementCache is no longer necessary as the element won't be disposed, since it's part of the undo/redo action.
8 |
9 | /*
10 | using System.Collections.Generic;
11 |
12 | namespace FlowSharpLib
13 | {
14 | public class ElementCache
15 | {
16 | ///
17 | /// Used for caching deleting elements as part of undo/redo, so the element's pens, brushes, etc., are not disposed.
18 | ///
19 | protected List cachedElements = new List();
20 | protected static ElementCache instance;
21 |
22 | protected ElementCache()
23 | {
24 | }
25 |
26 | public static ElementCache Instance
27 | {
28 | get
29 | {
30 | if (instance == null)
31 | {
32 | instance = new ElementCache();
33 | }
34 |
35 | return instance;
36 | }
37 | }
38 |
39 | public void Add(GraphicElement el)
40 | {
41 | if (!cachedElements.Contains(el))
42 | {
43 | // Cache the element being deleted so we can do a proper dispose of deleted elements at some point.
44 | // TODO: When is that "point"?
45 | cachedElements.Add(el);
46 | }
47 | }
48 |
49 | public void Remove(GraphicElement el)
50 | {
51 | if (cachedElements.Contains(el))
52 | {
53 | cachedElements.Remove(el);
54 | }
55 | }
56 |
57 | public void ClearCache()
58 | {
59 | cachedElements.ForEach(el => el.Dispose());
60 | cachedElements.Clear();
61 | }
62 | }
63 | }
64 | */
--------------------------------------------------------------------------------
/FlowSharpLib/Interfaces.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | namespace FlowSharpLib
8 | {
9 | public interface IPropertyObject
10 | {
11 | // void Update(GraphicElement el, string label);
12 | void Update(string label);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/FlowSharpLib/Lib/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/FlowSharpLib/Lib/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/FlowSharpLib/LineProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using Clifton.Core.ExtensionMethods;
10 |
11 | namespace FlowSharpLib
12 | {
13 | public class LineProperties : ElementProperties
14 | {
15 | [Category("Endcaps")]
16 | public AvailableLineCap StartCap { get; set; }
17 | [Category("Endcaps")]
18 | public AvailableLineCap EndCap { get; set; }
19 |
20 | public LineProperties(Line el) : base(el)
21 | {
22 | StartCap = el.StartCap;
23 | EndCap = el.EndCap;
24 | }
25 |
26 | public override void Update(GraphicElement el, string label)
27 | {
28 | // X1
29 | //(label == nameof(StartCap)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(StartCap), nameof(StartCap)));
30 | //(label == nameof(EndCap)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(EndCap), nameof(EndCap)));
31 | (label == nameof(StartCap)).If(() => ((Connector)el).StartCap = StartCap);
32 | (label == nameof(EndCap)).If(() => ((Connector)el).EndCap = EndCap);
33 | base.Update(el, label);
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/FlowSharpLib/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpLib")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Marc Clifton")]
12 | [assembly: AssemblyProduct("FlowSharpLib")]
13 | [assembly: AssemblyCopyright("Copyright © Marc Clifton 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("07f65ca7-b8d3-4716-bfbf-812ef4da68be")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/FlowSharpLib/ShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 | using System.Drawing;
9 |
10 | using Clifton.Core.ExtensionMethods;
11 |
12 | namespace FlowSharpLib
13 | {
14 | public class ShapeProperties : ElementProperties
15 | {
16 | [Category("Text")]
17 | public string Text { get; set; }
18 | [Category("Text")]
19 | public Font Font { get; set; }
20 | [Category("Text")]
21 | public Color TextColor { get; set; }
22 | [Category("Text")]
23 | public ContentAlignment TextAlign { get; set; }
24 | [Category("Text")]
25 | public bool Multiline { get; set; }
26 |
27 | public ShapeProperties(GraphicElement el) : base(el)
28 | {
29 | Text = el.Text;
30 | Font = el.TextFont;
31 | TextColor = el.TextColor;
32 | TextAlign = el.TextAlign;
33 | Multiline = el.Multiline;
34 | }
35 |
36 | public override void Update(GraphicElement el, string label)
37 | {
38 | // X1
39 | //(label == nameof(Text)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(el.Text), nameof(Text)));
40 | //(label == nameof(Font)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(el.TextFont), nameof(Font)));
41 | //(label == nameof(TextColor)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(el.TextColor), nameof(TextColor)));
42 | //(label == nameof(TextAlign)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(el.TextAlign), nameof(TextAlign)));
43 | (label == nameof(Text)).If(() => el.Text = Text);
44 | (label == nameof(Font)).If(() => el.TextFont = Font);
45 | (label == nameof(TextColor)).If(() => el.TextColor = TextColor);
46 | (label == nameof(TextAlign)).If(() => el.TextAlign = TextAlign);
47 | (label == nameof(Multiline)).If(() => el.Multiline = Multiline);
48 | base.Update(el, label);
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/FlowSharpLib/Shapes/Box.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Drawing;
8 |
9 | namespace FlowSharpLib
10 | {
11 | [ToolboxOrder(1)]
12 | public class Box : GraphicElement
13 | {
14 | public Box(Canvas canvas) : base(canvas)
15 | {
16 | }
17 |
18 | public override void Draw(Graphics gr, bool showSelection = true)
19 | {
20 | Rectangle zdr = ZoomRectangle;
21 | gr.FillRectangle(FillBrush, zdr);
22 | gr.DrawRectangle(BorderPen, zdr);
23 | base.Draw(gr, showSelection);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/FlowSharpLib/Shapes/Ellipse.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Drawing;
8 |
9 | namespace FlowSharpLib
10 | {
11 | [ToolboxOrder(2)]
12 | public class Ellipse : GraphicElement
13 | {
14 | public Ellipse(Canvas canvas) : base(canvas)
15 | {
16 | HasCornerConnections = false;
17 | }
18 |
19 | public override void Draw(Graphics gr, bool showSelection = true)
20 | {
21 | gr.FillEllipse(FillBrush, ZoomRectangle);
22 | gr.DrawEllipse(BorderPen, ZoomRectangle);
23 | base.Draw(gr, showSelection);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/FlowSharpLib/Shapes/Hexagon.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace FlowSharpLib.Shapes
8 | {
9 | public class Hexagon
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/FlowSharpLib/Shapes/Line.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Drawing.Drawing2D;
8 |
9 | namespace FlowSharpLib
10 | {
11 | public abstract class Line : Connector
12 | {
13 | public Line(Canvas canvas) : base(canvas)
14 | {
15 | }
16 |
17 | public override ElementProperties CreateProperties()
18 | {
19 | return new LineProperties(this);
20 | }
21 |
22 | public override void UpdateProperties()
23 | {
24 | if (StartCap == AvailableLineCap.None)
25 | {
26 | BorderPen.StartCap = LineCap.NoAnchor;
27 | }
28 | else
29 | {
30 | BorderPen.CustomStartCap = StartCap == AvailableLineCap.Arrow ? adjCapArrow : adjCapDiamond;
31 | }
32 |
33 | if (EndCap == AvailableLineCap.None)
34 | {
35 | BorderPen.EndCap = LineCap.NoAnchor;
36 | }
37 | else
38 | {
39 | BorderPen.CustomEndCap = EndCap == AvailableLineCap.Arrow ? adjCapArrow : adjCapDiamond;
40 | }
41 |
42 | base.UpdateProperties();
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/FlowSharpLib/ToolboxShapeAttribute.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System;
8 |
9 | namespace FlowSharpLib
10 | {
11 | [AttributeUsage(AttributeTargets.Class, Inherited = false)]
12 | public class ExcludeFromToolboxAttribute : Attribute { }
13 |
14 | [AttributeUsage(AttributeTargets.Class)]
15 | public class ToolboxShapeAttribute : Attribute { }
16 |
17 | [AttributeUsage(AttributeTargets.Class)]
18 | public class ToolboxOrderAttribute : Attribute
19 | {
20 | public int Order { get; protected set; }
21 |
22 | public ToolboxOrderAttribute(int order)
23 | {
24 | Order = order;
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/FlowSharpLib/ToolboxText.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Drawing;
8 |
9 | namespace FlowSharpLib
10 | {
11 | ///
12 | /// Special rendering for this element in the toolbox only.
13 | ///
14 | public class ToolboxText : GraphicElement
15 | {
16 | public const string TOOLBOX_TEXT = "A";
17 |
18 | protected Brush brush = new SolidBrush(Color.Black);
19 |
20 | public ToolboxText(Canvas canvas) : base(canvas)
21 | {
22 | TextFont.Dispose();
23 | TextFont = new Font(FontFamily.GenericSansSerif, 20);
24 | }
25 |
26 | public override GraphicElement CloneDefault(Canvas canvas)
27 | {
28 | return CloneDefault(canvas, Point.Empty);
29 | }
30 |
31 | public override GraphicElement CloneDefault(Canvas canvas, Point offset)
32 | {
33 | TextShape shape = new TextShape(canvas);
34 | shape.DisplayRectangle = shape.DefaultRectangle().Move(offset);
35 | shape.UpdateProperties();
36 | shape.UpdatePath();
37 |
38 | return shape;
39 | }
40 |
41 | public override void Draw(Graphics gr)
42 | {
43 | SizeF size = gr.MeasureString(TOOLBOX_TEXT, TextFont);
44 | Point textpos = DisplayRectangle.Center().Move((int)(-size.Width / 2), (int)(-size.Height / 2));
45 | gr.DrawString(TOOLBOX_TEXT, TextFont, brush, textpos);
46 | base.Draw(gr);
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Libs/Clifton.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/Clifton.Core.dll
--------------------------------------------------------------------------------
/Libs/Clifton.DockingFormService.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/Clifton.DockingFormService.dll
--------------------------------------------------------------------------------
/Libs/Clifton.SemanticProcessorService.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/Clifton.SemanticProcessorService.dll
--------------------------------------------------------------------------------
/Libs/Clifton.WinForm.ServiceInterfaces.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/Clifton.WinForm.ServiceInterfaces.dll
--------------------------------------------------------------------------------
/Libs/HtmlAgilityPack.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/HtmlAgilityPack.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.AvalonEdit.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.AvalonEdit.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.CodeCompletion.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.CodeCompletion.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.Core.Presentation.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.Core.Presentation.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.Core.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.NRefactory.CSharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.NRefactory.CSharp.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.NRefactory.Cecil.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.NRefactory.Cecil.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.NRefactory.Xml.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.NRefactory.Xml.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.NRefactory.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.NRefactory.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.SharpDevelop.Widgets.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.SharpDevelop.Widgets.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.SharpDevelop.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.SharpDevelop.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/ICSharpCode.TreeView.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/ICSharpCode.TreeView.dll
--------------------------------------------------------------------------------
/Libs/ICSharpCode/Mono.Cecil.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ICSharpCode/Mono.Cecil.dll
--------------------------------------------------------------------------------
/Libs/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/Libs/Renci.SshNet.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/Renci.SshNet.dll
--------------------------------------------------------------------------------
/Libs/ScintillaNET.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/ScintillaNET.dll
--------------------------------------------------------------------------------
/Libs/WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll
--------------------------------------------------------------------------------
/Libs/WeifenLuo.WinFormsUI.Docking.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/WeifenLuo.WinFormsUI.Docking.dll
--------------------------------------------------------------------------------
/Libs/websocket-sharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Libs/websocket-sharp.dll
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/CheckboxShape.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Drawing;
8 | using System.Windows.Forms;
9 |
10 | using FlowSharpLib;
11 |
12 | namespace FlowSharpWindowsControlShapes
13 | {
14 | [ExcludeFromToolbox]
15 | public class CheckboxShape : ControlShape
16 | {
17 | public CheckboxShape(Canvas canvas) : base(canvas)
18 | {
19 | control = new CheckBox();
20 | canvas.Controls.Add(control);
21 | }
22 |
23 | public override void Draw(Graphics gr, bool showSelection = true)
24 | {
25 | base.Draw(gr, showSelection);
26 | Rectangle r = ZoomRectangle.Grow(-4);
27 | control.Location = r.Location;
28 | control.Size = r.Size;
29 | control.Text = Text;
30 | control.Enabled = Enabled;
31 | control.Visible = Visible;
32 | }
33 | }
34 |
35 | [ToolboxShape]
36 | public class ToolboxCheckboxShape : GraphicElement
37 | {
38 | public const string TOOLBOX_TEXT = "ckbox";
39 |
40 | protected Brush brush = new SolidBrush(Color.Black);
41 |
42 | public ToolboxCheckboxShape(Canvas canvas) : base(canvas)
43 | {
44 | TextFont.Dispose();
45 | TextFont = new Font(FontFamily.GenericSansSerif, 8);
46 | }
47 |
48 | public override GraphicElement CloneDefault(Canvas canvas)
49 | {
50 | return CloneDefault(canvas, Point.Empty);
51 | }
52 |
53 | public override GraphicElement CloneDefault(Canvas canvas, Point offset)
54 | {
55 | CheckboxShape shape = new CheckboxShape(canvas);
56 | shape.DisplayRectangle = shape.DefaultRectangle().Move(offset);
57 | shape.UpdateProperties();
58 | shape.UpdatePath();
59 |
60 | return shape;
61 | }
62 |
63 | public override void Draw(Graphics gr, bool showSelection = true)
64 | {
65 | SizeF size = gr.MeasureString(TOOLBOX_TEXT, TextFont);
66 | Point textpos = DisplayRectangle.Center().Move((int)(-size.Width / 2), (int)(-size.Height / 2));
67 | gr.DrawString(TOOLBOX_TEXT, TextFont, brush, textpos);
68 | base.Draw(gr, showSelection);
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/ComboboxShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using FlowSharpLib;
10 |
11 | using Clifton.Core.ExtensionMethods;
12 |
13 | namespace FlowSharpWindowsControlShapes
14 | {
15 | public class ComboboxShapeProperties : ControlShapeProperties
16 | {
17 | [Category("Fields")]
18 | public string IdFieldName { get; set; }
19 | [Category("Fields")]
20 | public string DisplayFieldName { get; set; }
21 |
22 | public ComboboxShapeProperties(GraphicElement el) : base(el)
23 | {
24 | IdFieldName = ((ComboboxShape)el).IdFieldName;
25 | DisplayFieldName = ((ComboboxShape)el).DisplayFieldName;
26 | }
27 |
28 | public override void Update(GraphicElement el, string label)
29 | {
30 | base.Update(el, label);
31 | (label == nameof(IdFieldName)).If(() => ((ComboboxShape)el).IdFieldName = IdFieldName);
32 | (label == nameof(DisplayFieldName)).If(() => ((ComboboxShape)el).DisplayFieldName = DisplayFieldName);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/ControlShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using FlowSharpLib;
10 |
11 | using Clifton.Core.ExtensionMethods;
12 |
13 | namespace FlowSharpWindowsControlShapes
14 | {
15 | public class ControlShapeProperties : ShapeProperties
16 | {
17 | [Category("Click")]
18 | public string ClickEventName { get; set; }
19 | [Category("Click")]
20 | public string ClickEventData { get; set; }
21 | [Category("Click")]
22 | public SendProtocol SendProtocol { get; set; }
23 |
24 | [Category("Visual")]
25 | public bool Enabled { get; set; }
26 | [Category("Visual")]
27 | public bool Visible { get; set; }
28 |
29 | public ControlShapeProperties(GraphicElement el) : base(el)
30 | {
31 | ClickEventName = ((ControlShape)el).ClickEventName;
32 | ClickEventData = ((ControlShape)el).ClickEventData;
33 | Enabled = ((ControlShape)el).Enabled;
34 | Visible = ((ControlShape)el).Visible;
35 | SendProtocol = ((ControlShape)el).SendProtocol;
36 | }
37 |
38 | public override void Update(GraphicElement el, string label)
39 | {
40 | base.Update(el, label);
41 | (label == nameof(ClickEventName)).If(() => ((ControlShape)el).ClickEventName = ClickEventName);
42 | (label == nameof(ClickEventData)).If(() => ((ControlShape)el).ClickEventData = ClickEventData);
43 | (label == nameof(Enabled)).If(() => ((ControlShape)el).Enabled = Enabled);
44 | (label == nameof(Visible)).If(() => ((ControlShape)el).Visible = Visible);
45 | (label == nameof(SendProtocol)).If(() => ((ControlShape)el).SendProtocol = SendProtocol);
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/Enums.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | namespace FlowSharpWindowsControlShapes
8 | {
9 | public enum SendProtocol
10 | {
11 | Http,
12 | WebSocket,
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/ListboxShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using FlowSharpLib;
10 |
11 | using Clifton.Core.ExtensionMethods;
12 |
13 | namespace FlowSharpWindowsControlShapes
14 | {
15 | public class ListBoxShapeProperties : ControlShapeProperties
16 | {
17 | [Category("Fields")]
18 | public string IdFieldName { get; set; }
19 | [Category("Fields")]
20 | public string DisplayFieldName { get; set; }
21 |
22 | public ListBoxShapeProperties(GraphicElement el) : base(el)
23 | {
24 | IdFieldName = ((ListBoxShape)el).IdFieldName;
25 | DisplayFieldName = ((ListBoxShape)el).DisplayFieldName;
26 | }
27 |
28 | public override void Update(GraphicElement el, string label)
29 | {
30 | base.Update(el, label);
31 | (label == nameof(IdFieldName)).If(() => ((ListBoxShape)el).IdFieldName = IdFieldName);
32 | (label == nameof(DisplayFieldName)).If(() => ((ListBoxShape)el).DisplayFieldName = DisplayFieldName);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpWindowsControlShapes")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpWindowsControlShapes")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f41cb0c7-b2a0-48a7-85ee-874913598a6a")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/TextboxShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using FlowSharpLib;
10 |
11 | using Clifton.Core.ExtensionMethods;
12 |
13 | namespace FlowSharpWindowsControlShapes
14 | {
15 | public class TextboxShapeProperties : ControlShapeProperties
16 | {
17 | [Category("Options")]
18 | public bool ReadOnly { get; set; }
19 |
20 | public TextboxShapeProperties(GraphicElement el) : base(el)
21 | {
22 | Multiline = ((TextboxShape)el).Multiline;
23 | ReadOnly = ((TextboxShape)el).ReadOnly;
24 | }
25 |
26 | public override void Update(GraphicElement el, string label)
27 | {
28 | base.Update(el, label);
29 | (label == nameof(Multiline)).If(() => ((TextboxShape)el).Multiline = Multiline);
30 | (label == nameof(ReadOnly)).If(() => ((TextboxShape)el).ReadOnly = ReadOnly);
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Plugins/FlowSharpWindowsControlShapes/TrackbarShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using FlowSharpLib;
10 |
11 | using Clifton.Core.ExtensionMethods;
12 |
13 | namespace FlowSharpWindowsControlShapes
14 | {
15 | public class TrackbarShapeProperties : ControlShapeProperties
16 | {
17 | [Category("Range")]
18 | public int Minimum { get; set; }
19 | [Category("Range")]
20 | public int Maximum { get; set; }
21 | [Category("Events")]
22 | public string ValueChangedName { get; set; }
23 |
24 | public TrackbarShapeProperties(GraphicElement el) : base(el)
25 | {
26 | Minimum = ((TrackbarShape)el).Minimum;
27 | Maximum = ((TrackbarShape)el).Maximum;
28 | ValueChangedName = ((TrackbarShape)el).ValueChangedName;
29 | }
30 |
31 | public override void Update(GraphicElement el, string label)
32 | {
33 | base.Update(el, label);
34 | (label == nameof(Minimum)).If(() => ((TrackbarShape)el).Minimum = Minimum);
35 | (label == nameof(Maximum)).If(() => ((TrackbarShape)el).Maximum = Maximum);
36 | (label == nameof(ValueChangedName)).If(() => ((TrackbarShape)el).ValueChangedName = ValueChangedName);
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Plugins/PluginExample/ImageShapeProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using Clifton.Core.ExtensionMethods;
10 |
11 | using FlowSharpLib;
12 |
13 | namespace PluginExample
14 | {
15 | public class ImageShapeProperties : ElementProperties
16 | {
17 | [Category("Image")]
18 | public string Filename { get; set; }
19 |
20 | public ImageShapeProperties(ImageShape el) : base(el)
21 | {
22 | Filename = el.Filename;
23 | }
24 |
25 | public override void Update(GraphicElement el, string label)
26 | {
27 | // ((ImageShape)el).Filename = Filename;
28 | // X1
29 | //(label == nameof(Filename)).If(() => this.ChangePropertyWithUndoRedo(el, nameof(Filename), nameof(Filename)));
30 | (label == nameof(Filename)).If(() => ((ImageShape)el).Filename = Filename);
31 | base.Update(el, label);
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Plugins/PluginExample/NavToProperties.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.ComponentModel;
8 |
9 | using Clifton.Core.ExtensionMethods;
10 |
11 | using FlowSharpLib;
12 |
13 | namespace PluginExample
14 | {
15 | public class NavToProperties : ElementProperties
16 | {
17 | [Category("Navigate")]
18 | [Description("Navigate to the shape with the specified 'Name' (not the ShapeName)")]
19 | public string To { get; set; }
20 |
21 | public NavToProperties(NavTo el) : base(el)
22 | {
23 | To = el.NavigateTo;
24 | }
25 |
26 | public override void Update(GraphicElement el, string label)
27 | {
28 | (label == nameof(To)).If(() => ((NavTo)el).NavigateTo = To);
29 | base.Update(el, label);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Plugins/PluginExample/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpLibPlugin")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Marc Clifton")]
12 | [assembly: AssemblyProduct("FlowSharpLibPlugin")]
13 | [assembly: AssemblyCopyright("Copyright © Marc Clifton 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("df4bc6e3-e126-4a81-a1f1-79c4f6c6e784")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Plugins/PluginExample/Resources/DefaultImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Plugins/PluginExample/Resources/DefaultImage.png
--------------------------------------------------------------------------------
/Program.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Drawing;
10 | using System.Windows.Forms;
11 |
12 | using FlowSharpServiceInterfaces;
13 |
14 | namespace FlowSharp
15 | {
16 | static partial class Program
17 | {
18 | [STAThread]
19 | static void Main(string[] args)
20 | {
21 | string modules = "modules.xml";
22 |
23 | if (args.Length == 1)
24 | {
25 | modules = args[0];
26 | }
27 |
28 | Application.EnableVisualStyles();
29 | Application.SetCompatibleTextRenderingDefault(false);
30 | Bootstrap(modules);
31 | Icon icon = Properties.Resources.FlowSharp;
32 | Form form = ServiceManager.Get().CreateDockingForm(icon);
33 | Application.Run(form);
34 | }
35 |
36 | private static void ShowAnyExceptions(List exceptions)
37 | {
38 | foreach (var ex in exceptions)
39 | {
40 | MessageBox.Show(ex.Message, "Module Finalizer Exception", MessageBoxButtons.OK, MessageBoxIcon.Information);
41 | }
42 | }
43 | }
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharp")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Marc Clifton")]
12 | [assembly: AssemblyProduct("FlowSharp")]
13 | [assembly: AssemblyCopyright("Copyright © Marc Clifton 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("98e63d19-3d7a-4cb1-8ea9-31173d4be05f")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace FlowSharp.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Resources/FlowSharp.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/Resources/FlowSharp.ico
--------------------------------------------------------------------------------
/Services/FlowSharpCanvasService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCanvasService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCanvasService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8072dc59-f5de-46c3-98a2-e483484b253c")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeCompilerService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeCompilerService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeCompilerService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("91fcf1d4-91e0-41fa-a675-c3174f131104")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeDrakonShapes/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeDrakonShapes")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeDrakonShapes")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("82de83b7-6a8e-4bcb-8b12-5e80e30ddbad")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeICSharpDevelopService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeICSharpDevelopService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeICSharpDevelopService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("0f9d2405-725f-4859-ab13-75dfafa6ba35")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeICSharpDevelopService/ScriptProvider.cs:
--------------------------------------------------------------------------------
1 | using ICSharpCode.CodeCompletion;
2 |
3 | namespace FlowSharpCodeICSharpDevelopService
4 | {
5 | ///
6 | /// This is a simple script provider that adds a few using statements to the C# scripts (.csx files)
7 | ///
8 | class ScriptProvider : ICSharpScriptProvider
9 | {
10 | public string GetUsing()
11 | {
12 | return "" +
13 | "using System; " +
14 | "using System.Collections.Generic; " +
15 | "using System.Linq; " +
16 | "using System.Text; ";
17 | }
18 |
19 |
20 | public string GetVars()
21 | {
22 | return "int age = 25;";
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeOutputWindowService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeOutputWindowService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeOutputWindowService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("5fa0c1a5-bde5-41fb-b031-eb8285fc549b")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodePythonCompilerService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodePythonCompilerService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodePythonCompilerService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("526a7092-2ee6-49a6-beee-2c22f1e7cdce")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeScintillaEditorService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeScintillaEditorService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeScintillaEditorService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("3452537d-7fa0-4916-baa9-b4985f11581e")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("d11163a6-8f20-4b74-9627-02831d1df1b2")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeServiceInterfaces/Constants.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace FlowSharpCodeServiceInterfaces
8 | {
9 | public static class Constants
10 | {
11 | public const string META_CSHARP_EDITOR = "Editor";
12 | public const string META_SCINTILLA_EDITOR = "ScintillaEditor";
13 | //public const string META_JAVASCRIPT_EDITOR = "JavascriptEditor";
14 | //public const string META_HTML_EDITOR = "HtmlEditor";
15 | //public const string META_CSS_EDITOR = "CssEditor";
16 | public const string META_OUTPUT = "Output";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeServiceInterfaces/Membranes.cs:
--------------------------------------------------------------------------------
1 | using Clifton.Core.Semantics;
2 |
3 | namespace FlowSharpCodeServiceInterfaces
4 | {
5 | public class FlowSharpCodeMembrane : Membrane { }
6 | }
7 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeServiceInterfaces/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeServiceInterfaces")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeServiceInterfaces")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f8d75cfd-fb07-4a09-97d6-0ac3871aa35a")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeShapeInterfaces/Interfaces.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | namespace FlowSharpCodeShapeInterfaces
8 | {
9 | public enum TruePath
10 | {
11 | Down,
12 | LeftOrRight
13 | }
14 |
15 | public interface IFileBox
16 | {
17 | string Filename { get; }
18 | }
19 |
20 | public interface IAssemblyBox : IFileBox
21 | {
22 | }
23 |
24 | public interface IAssemblyReferenceBox : IFileBox
25 | {
26 | }
27 |
28 | public interface IPythonClass : IFileBox
29 | {
30 | bool GenerateClass { get; set; }
31 | }
32 |
33 | public interface ICSharpClass : IFileBox
34 | {
35 | string NamespaceName { get; set; }
36 | string ClassName { get; set; }
37 | string MethodName { get; set; }
38 | }
39 |
40 | public interface IWorkflowBox
41 | {
42 | }
43 |
44 | // Interfaces are required and must be separate from FlowSharpCodeDrakonShapes because the shapes are dynamically loaded,
45 | // as a result, statements like "el is IDrakonShape" returns false if the interface is defined in FlowSharpCodeDrakonShapes.
46 | // Crazily, the debugger returns true in this situation.
47 | public interface IDrakonShape { }
48 |
49 | // We don't name these "Drakon" so that we could associate other kinds of flowcharting shapes with these statements.
50 | public interface IIfBox
51 | {
52 | TruePath TruePath { get; set; }
53 | }
54 |
55 | public interface IBeginForLoopBox { }
56 | public interface IEndForLoopBox { }
57 | public interface IOutputBox { }
58 | public interface IInputBox { }
59 | }
60 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeShapeInterfaces/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeShapeInterfaces")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeShapeInterfaces")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8c7d37d1-f9d9-4633-b863-eac44b9dd999")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeShapes/AssemblyBox.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Collections.Generic;
8 | using System.ComponentModel;
9 | using System.Drawing;
10 |
11 | using Clifton.Core.ExtensionMethods;
12 |
13 | using FlowSharpLib;
14 | using FlowSharpCodeShapeInterfaces;
15 |
16 | namespace FlowSharpCodeShapes
17 | {
18 | public class AssemblyBox : Box, IAssemblyBox
19 | {
20 | public string Filename { get; set; }
21 |
22 | public AssemblyBox(Canvas canvas) : base(canvas)
23 | {
24 | Text = "Assy";
25 | TextFont.Dispose();
26 | TextFont= new Font(FontFamily.GenericSansSerif, 6);
27 | TextAlign = ContentAlignment.TopCenter;
28 | }
29 |
30 | public override ElementProperties CreateProperties()
31 | {
32 | return new AssemblyBoxProperties(this);
33 | }
34 |
35 | public override void Serialize(ElementPropertyBag epb, IEnumerable elementsBeingSerialized)
36 | {
37 | // TODO: Use JSON dictionary instead.
38 | epb.ExtraData = Filename;
39 | base.Serialize(epb, elementsBeingSerialized);
40 | }
41 |
42 | public override void Deserialize(ElementPropertyBag epb)
43 | {
44 | // TODO: Use JSON dictionary instead.
45 | Filename = epb.ExtraData;
46 | base.Deserialize(epb);
47 | }
48 | }
49 |
50 | public class AssemblyBoxProperties : ElementProperties
51 | {
52 | [Category("Assembly")]
53 | public string Filename { get; set; }
54 |
55 | public AssemblyBoxProperties(AssemblyBox el) : base(el)
56 | {
57 | Filename = el.Filename;
58 | }
59 |
60 | public override void Update(GraphicElement el, string label)
61 | {
62 | AssemblyBox box = (AssemblyBox)el;
63 |
64 | (label == "Filename").If(() =>
65 | {
66 | box.Filename = Filename;
67 | box.Text = string.IsNullOrEmpty(Filename) ? "Assy" : ("Assy: " + Filename);
68 | });
69 |
70 | base.Update(el, label);
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeShapes/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpCodeShapes")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpCodeShapes")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("ef1bb007-e326-4305-94f0-c4a589fdb08a")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpCodeServices/FlowSharpCodeShapes/WorkflowBox.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Collections.Generic;
8 | using System.ComponentModel;
9 | using System.Drawing;
10 | using System.IO;
11 |
12 | using FlowSharpLib;
13 | using FlowSharpCodeShapeInterfaces;
14 |
15 | namespace FlowSharpCodeShapes
16 | {
17 | public class WorkflowBox : Box, IWorkflowBox
18 | {
19 | public WorkflowBox(Canvas canvas) : base(canvas)
20 | {
21 | Text = "WF";
22 | TextFont.Dispose();
23 | TextFont = new Font(FontFamily.GenericSansSerif, 6);
24 | TextAlign = ContentAlignment.TopCenter;
25 | FillBrush.Color = Color.LightBlue;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Services/FlowSharpDebugWindowService/DlgPlugins.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Windows.Forms;
4 |
5 | using FlowSharpServiceInterfaces;
6 |
7 | namespace FlowSharpDebugWindowService
8 | {
9 | public partial class DlgPlugins : Form
10 | {
11 | public DlgPlugins()
12 | {
13 | InitializeComponent();
14 | string plugins = File.ReadAllText(Constants.PLUGIN_FILE_LIST);
15 | tbPlugins.Text = plugins;
16 | }
17 |
18 | private void btnUpdate_Click(object sender, EventArgs e)
19 | {
20 | File.WriteAllText(Constants.PLUGIN_FILE_LIST, tbPlugins.Text);
21 | Close();
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Services/FlowSharpDebugWindowService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpDebugWindowService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpDebugWindowService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("ef3a8598-238b-4b29-9d77-79cd805cd0e7")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpDebugWindowService/TraceListener.cs:
--------------------------------------------------------------------------------
1 | using System.Diagnostics;
2 |
3 | namespace FlowSharpDebugWindowService
4 | {
5 | public class TraceListener : ConsoleTraceListener
6 | {
7 | public DlgDebugWindow DebugWindow { get; set; }
8 |
9 | public override void WriteLine(string msg)
10 | {
11 | if (DebugWindow != null)
12 | {
13 | DebugWindow.Trace(msg + "\r\n");
14 | }
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Services/FlowSharpEditService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpEditService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpEditService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("0d8ce8a3-cd6c-4905-a9bd-b7ae36a7b053")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpMenuService/NavigateDlg.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Collections.Generic;
8 | using System.Drawing;
9 | using System.Linq;
10 | using System.Windows.Forms;
11 |
12 | using Clifton.Core.ServiceManagement;
13 |
14 | using FlowSharpLib;
15 | using FlowSharpServiceInterfaces;
16 |
17 | namespace FlowSharpMenuService
18 | {
19 | public partial class NavigateDlg : Form
20 | {
21 | protected IServiceManager serviceManager;
22 | protected BaseController canvasController;
23 |
24 | public NavigateDlg(IServiceManager serviceManager, List navNames)
25 | {
26 | this.serviceManager = serviceManager;
27 | InitializeComponent();
28 | lbShapes.Items.AddRange(navNames.ToArray());
29 | }
30 |
31 | private void lbShapes_KeyPress(object sender, KeyPressEventArgs e)
32 | {
33 | switch (e.KeyChar)
34 | {
35 | case (char)Keys.Escape:
36 | e.Handled = true;
37 | Close();
38 | break;
39 |
40 | case (char)Keys.Enter:
41 | e.Handled = true;
42 | Close();
43 | GraphicElement shape = ((NavigateToShape)lbShapes.SelectedItem).Shape;
44 | serviceManager.Get().FocusOnShape(shape);
45 | break;
46 | }
47 | }
48 |
49 | private void lbShapes_MouseClick(object sender, MouseEventArgs e)
50 | {
51 | Close();
52 | GraphicElement shape = ((NavigateToShape)lbShapes.SelectedItem).Shape;
53 | serviceManager.Get().FocusOnShape(shape);
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Services/FlowSharpMenuService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpMenuService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpMenuService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("4143c634-39f8-4143-98ba-5f20e533d7af")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpMouseControllerService/FlowSharpMouseControllerService.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using Clifton.Core.ModuleManagement;
8 | using Clifton.Core.Semantics;
9 | using Clifton.Core.ServiceManagement;
10 |
11 | using FlowSharpLib;
12 | using FlowSharpServiceInterfaces;
13 |
14 | namespace FlowSharpMouseControllerService
15 | {
16 | public class FlowSharpMouseControllerModule : IModule
17 | {
18 | public void InitializeServices(IServiceManager serviceManager)
19 | {
20 | serviceManager.RegisterSingleton();
21 | }
22 | }
23 |
24 | public class FlowSharpMouseControllerService : ServiceBase, IFlowSharpMouseControllerService
25 | {
26 | protected MouseController mouseController;
27 |
28 | public override void FinishedInitialization()
29 | {
30 | base.FinishedInitialization();
31 | ServiceManager.Get().Register();
32 | mouseController = new MouseController(ServiceManager);
33 | mouseController.InitializeBehavior();
34 | }
35 |
36 | public void Initialize(BaseController controller)
37 | {
38 | mouseController.HookMouseEvents(controller);
39 | }
40 |
41 | public void ClearState()
42 | {
43 | mouseController.ClearState();
44 | }
45 |
46 | public void ShapeDeleted(GraphicElement el)
47 | {
48 | mouseController.ShapeDeleted(el);
49 | }
50 | }
51 |
52 | public class FlowSharpMouseControllerReceptor : IReceptor
53 | {
54 |
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/Services/FlowSharpMouseControllerService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpMouseControllerService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpMouseControllerService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("51bae79c-a873-4885-a39e-70d66155f78d")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpPropertyGridService/FlowSharpPropertyGridService.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Windows.Forms;
8 |
9 | using Clifton.Core.ModuleManagement;
10 | using Clifton.Core.Semantics;
11 | using Clifton.Core.ServiceManagement;
12 |
13 | using FlowSharpLib;
14 | using FlowSharpServiceInterfaces;
15 |
16 | namespace FlowSharpPropertyGridService
17 | {
18 | public class FlowSharpPropertyGridModule : IModule
19 | {
20 | public void InitializeServices(IServiceManager serviceManager)
21 | {
22 | serviceManager.RegisterSingleton();
23 | }
24 | }
25 |
26 | public class FlowSharpPropertyGridService : ServiceBase, IFlowSharpPropertyGridService
27 | {
28 | protected PropertyGridController pgController;
29 |
30 | public override void Initialize(IServiceManager svcMgr)
31 | {
32 | base.Initialize(svcMgr);
33 | }
34 |
35 | public override void FinishedInitialization()
36 | {
37 | base.FinishedInitialization();
38 | }
39 |
40 | public void Initialize(PropertyGrid propertyGrid)
41 | {
42 | pgController = new PropertyGridController(ServiceManager, propertyGrid);
43 | }
44 |
45 | public void Initialize(BaseController controller)
46 | {
47 | pgController?.HookEvents(controller);
48 | }
49 |
50 | public void Terminate(BaseController controller)
51 | {
52 | pgController?.UnhookEvents(controller);
53 | }
54 |
55 | public void ShowProperties(IPropertyObject propObject)
56 | {
57 | pgController?.Show(propObject);
58 | }
59 | }
60 |
61 | public class FlowSharpPropertyGridReceptor : IReceptor
62 | {
63 |
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/Services/FlowSharpPropertyGridService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpPropertyGridService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpPropertyGridService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("ad2b1b25-b4f5-4eae-867e-636c58af0f57")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpRestService/FlowSharpRestService.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Collections.Generic;
8 | using System.Linq;
9 |
10 | using Clifton.Core.ExtensionMethods;
11 | using Clifton.Core.ModuleManagement;
12 | using Clifton.Core.Semantics;
13 | using Clifton.Core.ServiceManagement;
14 |
15 | using FlowSharpServiceInterfaces;
16 |
17 | namespace FlowSharpRestService
18 | {
19 | public class FlowSharpRestModule : IModule
20 | {
21 | public void InitializeServices(IServiceManager serviceManager)
22 | {
23 | serviceManager.RegisterSingleton();
24 | }
25 | }
26 |
27 | public class FlowSharpRestService : ServiceBase, IFlowSharpRestService
28 | {
29 | protected WebServer server;
30 |
31 | public override void FinishedInitialization()
32 | {
33 | base.FinishedInitialization();
34 | InitializeListener();
35 | ServiceManager.Get().Register();
36 | ServiceManager.Get().Register();
37 | }
38 |
39 | public string HttpGet(string url, string data)
40 | {
41 | string ret = Http.Get(url + "?" + data);
42 |
43 | return ret;
44 | }
45 |
46 | public string HttpGet(string url, Dictionary data)
47 | {
48 | string asParams = string.Join("&", data.Select(kvp => kvp.Key + "=" + kvp.Value));
49 | string ret = Http.Get(url + "?" + asParams);
50 |
51 | return ret;
52 | }
53 |
54 | protected void InitializeListener()
55 | {
56 | server = new WebServer(ServiceManager);
57 | server.Start("localhost", new int[] { 8001 }); // TODO: Get IP, ports, etc., from config file.
58 | }
59 | }
60 | }
--------------------------------------------------------------------------------
/Services/FlowSharpRestService/HttpGet.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Net;
8 | using System.IO;
9 |
10 | namespace FlowSharpRestService
11 | {
12 | public static class Http
13 | {
14 | public static string Get(string uri)
15 | {
16 | WebClient client = new WebClient();
17 |
18 | // Add a user agent header in case the
19 | // requested URI contains a query.
20 |
21 | client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
22 |
23 | Stream data = client.OpenRead(uri);
24 | StreamReader reader = new StreamReader(data);
25 | string s = reader.ReadToEnd();
26 | data.Close();
27 | reader.Close();
28 |
29 | return s;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Services/FlowSharpRestService/HttpSender.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using Clifton.Core.Semantics;
8 |
9 | using FlowSharpServiceInterfaces;
10 |
11 | namespace FlowSharpRestService
12 | {
13 | public class HttpSender : IReceptor
14 | {
15 | // Ex: localhost:8001:flowsharp?cmd=CmdUpdateProperty&Name=btnTest&PropertyName=Text&Value=Foobar
16 | public void Process(ISemanticProcessor proc, IMembrane membrane, HttpSend cmd)
17 | {
18 | Http.Get(cmd.Url + "?" + cmd.Data);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Services/FlowSharpRestService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpRestService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpRestService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("51d2b194-cffc-4905-8f06-90f1a0000df2")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("d6dfd9f7-45ff-45d9-8d45-ee5259441fbf")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpServiceInterfaces/Constants.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | namespace FlowSharpServiceInterfaces
8 | {
9 | public static class Constants
10 | {
11 | public const string PLUGIN_FILE_LIST = "plugins.txt";
12 |
13 | public const string META_CANVAS = "Canvas";
14 | public const string META_TOOLBOX = "Toolbox";
15 | public const string META_PROPERTYGRID = "PropertyGrid";
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Services/FlowSharpServiceInterfaces/Enums.cs:
--------------------------------------------------------------------------------
1 | namespace FlowSharpServiceInterfaces
2 | {
3 | public enum ClosingState
4 | {
5 | NoChanges,
6 | SaveChanges,
7 | ExitWithoutSaving,
8 | CancelClose,
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Services/FlowSharpServiceInterfaces/EventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using FlowSharpLib;
4 |
5 | namespace FlowSharpServiceInterfaces
6 | {
7 | public class FileEventArgs : EventArgs
8 | {
9 | public string Filename { get; set; }
10 | }
11 |
12 | public class NewCanvasEventArgs : EventArgs
13 | {
14 | public BaseController Controller { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Services/FlowSharpServiceInterfaces/Membranes.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using Clifton.Core.Semantics;
8 |
9 | namespace FlowSharpServiceInterfaces
10 | {
11 | public class FlowSharpMembrane : Membrane { }
12 | }
13 |
--------------------------------------------------------------------------------
/Services/FlowSharpServiceInterfaces/Notifiers.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using Clifton.Core.Semantics;
8 |
9 | namespace FlowSharpServiceInterfaces
10 | {
11 | public class HttpSend : ISemanticType
12 | {
13 | public string Url { get; set; }
14 | public string Data { get; set; }
15 | }
16 |
17 | public class WebSocketSend : ISemanticType
18 | {
19 | public string Data { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Services/FlowSharpServiceInterfaces/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpServiceInterfaces")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpServiceInterfaces")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("caa4fd23-1392-4dee-907a-cb3dc7315a98")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpToolboxService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpToolboxService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpToolboxService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("aae37a5e-07fe-4cdb-b4d4-a176213fce2b")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpToolboxService/ToolboxCanvas.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using System.Drawing;
8 |
9 | using FlowSharpLib;
10 |
11 | namespace FlowSharpToolboxService
12 | {
13 | public class ToolboxCanvas : Canvas
14 | {
15 | protected override void DrawBackground(Graphics gr)
16 | {
17 | gr.Clear(Color.LightGray);
18 | }
19 |
20 | protected override void DrawGrid(Graphics gr)
21 | {
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Services/FlowSharpWebSocketService/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("FlowSharpWebSocketService")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("Microsoft")]
12 | [assembly: AssemblyProduct("FlowSharpWebSocketService")]
13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("3548af21-b8cb-4c45-88b6-80fad43eb561")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Services/FlowSharpWebSocketService/WebSocketSender.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Marc Clifton
3 | * The Code Project Open License (CPOL) 1.02
4 | * http://www.codeproject.com/info/cpol10.aspx
5 | */
6 |
7 | using WebSocketSharp;
8 |
9 | using Clifton.Core.Semantics;
10 |
11 | using FlowSharpServiceInterfaces;
12 |
13 | namespace FlowSharpWebSocketService
14 | {
15 | public class MyListener { }
16 |
17 | public class WebSocketSender : IReceptor
18 | {
19 | public static WebSocket ws = null;
20 |
21 | public void Process(ISemanticProcessor proc, IMembrane membrane, WebSocketSend cmd)
22 | {
23 | EstablishConnection();
24 | ws.Send(cmd.Data);
25 | }
26 |
27 | protected void EstablishConnection()
28 | {
29 | // TODO: Right now, we're assuming one web socket client.
30 | if (ws == null || !ws.IsAlive)
31 | {
32 | ws = new WebSocket("ws://127.0.0.1:1101/flowsharpapp", new MyListener());
33 | ws.Connect();
34 | }
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/bin/Debug/FlowSharpCodeModules.xml:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/bin/Debug/WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/bin/Debug/WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll
--------------------------------------------------------------------------------
/bin/Debug/WeifenLuo.WinFormsUI.Docking.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/bin/Debug/WeifenLuo.WinFormsUI.Docking.dll
--------------------------------------------------------------------------------
/bin/Debug/appmodules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/bin/Debug/defaultLayout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/bin/Debug/defaultLayout.xml
--------------------------------------------------------------------------------
/bin/Debug/htwmodules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/bin/Debug/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/bin/Debug/personOfInterest.py:
--------------------------------------------------------------------------------
1 | #pylint: disable=C0111, C0301, C0303, W0311, W0614, W0401, W0232, W0702, W0703, W0201
2 | # Make sure pip and setup tools are up to date:
3 | # python -m pip install -U pip
4 | # pip install -U setuptools
5 | # pip install requests
6 | # pip install lxml
7 | # pip install cssselect
8 | import requests
9 | import sys
10 | from lxml import html
11 | from lxml.cssselect import CSSSelector
12 | from lxml import etree
13 |
14 | url = "http://www.onthisday.com/birthdays/" + sys.argv[1] + "/" + sys.argv[2]
15 | # print("URL: " + url)
16 | page = requests.get(url)
17 | tree = html.fromstring(page.content)
18 | sel = CSSSelector('.section--person-of-interest')
19 | pois = sel(tree)
20 |
21 | for poi in pois:
22 | print(poi.xpath("div/div/div[1]/p")[0].text_content().encode('cp437', errors='replace'))
23 |
24 |
--------------------------------------------------------------------------------
/bin/Debug/plugins.txt:
--------------------------------------------------------------------------------
1 | ..\..\Plugins\PluginExample\bin\Debug\PluginExample.dll
2 | ..\..\Plugins\FlowSharpWindowsControlShapes\bin\Debug\FlowSharpWindowsControlShapes.dll
3 | ..\..\Services\FlowSharpCodeServices\FlowSharpCodeShapes\bin\Debug\FlowSharpCodeShapes.dll
4 | ..\..\Services\FlowSharpCodeServices\FlowSharpCodeDrakonShapes\bin\Debug\FlowSharpCodeDrakonShapes.dll
5 | ..\..\FS-HOPE\HopeShapes\bin\Debug\HopeShapes.dll
6 |
7 |
8 |
--------------------------------------------------------------------------------
/bin/Debug/soundPlayerModules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/bin/Debug/st_text_speak-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/bin/Debug/st_text_speak-layout.xml
--------------------------------------------------------------------------------
/bin/Debug/two apps demo-layout.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cliftonm/FlowSharp/5d42ef58878471c616e825cfa65f45b3b8d3a86d/bin/Debug/two apps demo-layout.xml
--------------------------------------------------------------------------------
/todo.txt:
--------------------------------------------------------------------------------
1 | Bugs:
2 |
3 | 1. Connector added to shapes within a group box double-moves when the entire groupbox is moved.
4 | Also, anything dropped into a groupbox should probably be automatically grouped.
5 | 2. For text shape, text align bottom/top seems to be reversed
6 | 3. Ability to select several shapes worked, then stopped working. Not sure why
7 | 4. In a multiple canvas drawing, saving when 2nd canvas doesn't have a filename threw an exception.
8 | 5. Saving multiple canvases lost my work in one of the canvases, perhaps related to #4
9 | 6. Copy of a grouped shape and paste results in a shape that can't be moved/selected.
10 | 7. Notice connector from ModuleManagement to DockPanelSuiteServices double moves when moving the
11 | DockPanelSuiteServices GroupBox, because it appears to have been wired up at least twice.
12 |
13 | TODO:
14 |
15 | 1. Be able to select alternate shape when there is more than one option at the click point
16 | 2. Custom anchor points
17 | 3. Try intersection depth limit of 1 deep
18 | 4. "Regroup", so shapes can be manipulated and then regrouped.
19 | 5. Connector text
20 | 6. Add panels back in that have been removed: Toolbox, property grid, code editor
21 | 7. Saving drawing should update MRU if new filename
22 | 8. Close document (canvas) needs to prompt to save any changes.
23 | 9. Auto-anchor
24 | 10. Force V/H (removes diagonal)
25 | 11. Align selected shapes left/top/right/bottom to leftmost/topmost/rightmost/bottommost
26 | 12. Changing property (like end caps) forces a full page redraw
27 | 13. Need 3 line connector middle-line repositioning
28 |
--------------------------------------------------------------------------------