Граф коммитов

169 Коммитов

Автор SHA1 Сообщение Дата
Eilon Lipton 2575d6069d Add Azure pipelines YML
- Build only 'src' folders
- Disable CS1591 doc warnings
2019-09-24 10:49:11 -07:00
Eilon Lipton 6e82d52e4f Move everything to 'src' and 'samples' folders 2019-09-23 16:48:56 -07:00
Eilon Lipton 6474992db8 Update to .NET Core 3 RTM 2019-09-23 11:37:30 -07:00
Eilon Lipton 65c9224a6a Clean up EmblazonAdapter
- Adjust access modifiers
- Clean up debug text
2019-09-20 16:18:49 -07:00
Eilon Lipton b7222f3c12 Remove unneeded IControlPropertyMapper
All native control handlers must implement INativeControlHandler, so might as well call INativeControlHandler.SetControlProperty() directly. (The Reflection code path was not used anymore at all.)
2019-09-20 16:07:21 -07:00
Eilon Lipton 0316d14bdf Add attribute helpers for Thickness and LayoutOptions 2019-09-20 15:19:29 -07:00
Eilon Lipton e2f90a9b91 Redo Element and ElementHandler hierarchy to match Xamarin.Forms 2019-09-20 14:33:04 -07:00
Eilon Lipton cb2195ee06 Remove all derived Xamarin.Forms controls
- For Blaxamarin, only default control types are used and IFormsControlHandler implementations delegate all work to an inner-created control.
- Started re-layering controls to match the real control hierarchy.
2019-09-18 13:52:40 -07:00
Eilon Lipton 3da5c09c40 Add support for TabbedPage and ContentPage
- And change Blaxamarin TodoApp to use a tabbed page to switch between Todo and Counter
2019-09-17 17:17:42 -07:00
Eilon Lipton dfc4532fe5 Simplify logic for Blaxamarin parent/child detection 2019-09-17 17:16:54 -07:00
Eilon Lipton 6f09e36f45 Use ScrollView for long Todo list 2019-09-17 15:24:32 -07:00
Eilon Lipton 1c4e039861 Create .editorconfig 2019-09-17 12:08:31 -07:00
Eilon Lipton 697d6f58e1 More code cleanup 2019-09-17 12:08:27 -07:00
Eilon Lipton daaae4077c Apply code cleanup 2019-09-17 12:05:31 -07:00
Eilon Lipton a0b640ac43 Suppress more code analysis warnings 2019-09-16 17:10:09 -07:00
Eilon Lipton 23d4dc4af8 Fix, disable, and ignore many code analysis warnings 2019-09-16 17:07:20 -07:00
Eilon Lipton e066fc9a71 Stop creating ContentPage when wrong content is being set on Application.MainPage
This was a hacky workaround and should instead just be an error.
2019-09-16 16:01:43 -07:00
Eilon Lipton 2c6cd47653 Change how root elements are created and how app content is parented
- Renderers no longer create the root control. All they do it *add* a given component to a given parent. The platform-specific code is in charge of creating the root component.
- This now avoids creating unnecessary wrappers (e.g. BlazorContentViewWrapper) that muddy the native control hierarchy
2019-09-16 16:01:15 -07:00
Eilon Lipton fe3413a55f Add Blaxamarin MasterDetailPage
- Also updated BlaxamarinTodoApp to use new MasterDetailPage and have Counter as an option
- Swipe from the left of the Blaxamarin app to show the "Master" page with choice of Todo or Counter
2019-09-16 15:54:33 -07:00
Eilon Lipton 3273c4639f Make BlinForms SplitterPanelBase internal
Might as well be internal, like its two derived types. It's used only programmatically by SplitContainer and never by the end-user.
2019-09-16 14:45:13 -07:00
Eilon Lipton 6248fb445b Update Blaxamarin to use C# 8 2019-09-16 14:44:41 -07:00
Steve Sanderson 4a55c28a7b Add named Panel1/Panel2 slots to SplitContainer 2019-09-16 08:53:27 -07:00
Eilon Lipton 7ede0f2c08 Remove unused commented code 2019-09-11 12:47:44 -07:00
Eilon Lipton 71e9233489 Add DI support to Blaxamarin
- Update Blaxamarin TodoApp to use injected AppState to store TodoItems list
2019-09-11 12:46:07 -07:00
Eilon Lipton 59bf6cca55 Add support for IBlinFormsStartup
- Register an instance of IBlinFormsStartup for user code to run at app start
- Updated BlinForms sample to use more DI services, have Dev/Prod configuration
2019-09-11 09:39:18 -07:00
Eilon Lipton 9f6430bd77 Use Generic Host to enable DI for BlinForms apps
- Wrap BlinForms startup logic in an IHostedService
- Update BlinForms TodoApp sample to use DI to store the counter state
2019-09-10 16:13:51 -07:00
Eilon Lipton 4dd96140e8
Update Readme.md 2019-09-09 17:03:01 -07:00
Eilon Lipton 34b440ee5a
Update Readme.md 2019-09-09 17:02:43 -07:00
Eilon Lipton 8ed686c08a Update Readme.md 2019-09-09 16:59:28 -07:00
Eilon Lipton 3a141b6120 Merge branch 'jon/comet' of https://github.com/xamarin/Emblazon into jon/comet 2019-09-09 16:43:20 -07:00
Eilon Lipton 21ece89f26 Fix rebase 2019-09-09 16:40:05 -07:00
Eilon Lipton 97008e6ed7 Implement remaining INativeControlHandler logic for BlinForms. 2019-09-09 16:35:00 -07:00
Jon Lipsky 804b5a22cf Fixed merge issues. 2019-09-09 16:29:29 -07:00
Jon Lipsky 9bb54b7a8c Committing work in progress. 2019-09-09 16:26:39 -07:00
Jon Lipsky 5b38076ed8 Started work on refactoring for comet. 2019-09-09 16:21:47 -07:00
Eilon Lipton 13e695292b Implement remaining INativeControlHandler logic for BlinForms. 2019-09-09 16:18:00 -07:00
Eilon Lipton 2da0337c77 AppState initial code 2019-09-09 09:19:34 -07:00
Eilon Lipton f5dcbedffc Finally hopefully fix sibling search for where to create elements
The wrong subset of the tree was being searched for where to create elements. Previously only the previous siblings of the native parent would be searched. This was wrong because it skipped searching any intermediate ancestor's previous siblings, which could have also had native controls that were the sibling of interest.
2019-09-06 15:09:50 -07:00
Jon Lipsky 378b3159ea Fixed merge issues. 2019-09-06 15:51:18 -05:00
Jon Lipsky e4f4d8a202 Merge branch 'master' of https://github.com/xamarin/Emblazon into jon/comet
# Conflicts:
#	Blaxamarin.Framework/BlaxamarinNativeControlManager.cs
#	Emblazon/EmblazonAdapter.cs
#	Emblazon/EmblazonRenderer.cs
#	Emblazon/NativeControlManager.cs
2019-09-06 15:31:53 -05:00
Eilon Lipton abd3d233d4 Ensure RootControl has _possibleTargetControlSet
Without this, walking up Parent ancestors can end up with bizarre results because there's no native control at the root. The RootControl is created by the framework-specific renderer, so it's a bit different than other controls created as elements.
2019-09-05 14:05:54 -07:00
Eilon Lipton 5b85bf6a6b Disable Blazor analyzer warning BL0006
It says not to use RenderTree stuff, but too bad, that's what Emblazon is all about!
2019-09-05 14:04:42 -07:00
Eilon Lipton 5de2252633 Update to latest NuGet packages
- Update to .NET Core 3.0 Preview 9
- Xamarin.Forms 4.2, Xamarin.Essentials 1.3
- Remove nightly build NuGet feeds and use only nuget.org
- Updated types and namespaces for Blazor types
- Rename solution to Emblazon
2019-09-04 16:54:49 -07:00
Eilon Lipton 2dc396983d Fix a few FxCop suggestions 2019-09-04 15:07:49 -07:00
Eilon Lipton aed6aec27e Install FxCop code analysis packages into framework projects 2019-09-04 14:59:17 -07:00
Eilon Lipton 61dfe40127 Update descendant search to use first-match instead of deepest match
This should fix the sibling index miscalculation when figuring out where to insert a new element. In general, it finds the nearest parent that has a physical control, and then based on where the current adapter is, it finds the previous sibling that also has a physical control in the aforementioned parent. Hopefully, it works.
2019-09-04 14:14:23 -07:00
Eilon Lipton 275ea7f1e7 Add more helpful DebuggerDisplay for EmblazonAdapter<T> 2019-09-04 10:31:49 -07:00
Eilon Lipton 111d4b007c Replace adapter SetRenderer() method with ctor param
Setting the Renderer is required, and might as well be set in the ctor now that the adapter is a concrete class.
2019-09-03 09:46:44 -07:00
Jon Lipsky d1107484d7 Committing work in progress. 2019-08-30 12:42:06 -05:00
Jon Lipsky 1d28abfd49 Started work on refactoring for comet. 2019-08-30 08:28:43 -05:00