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

188 Коммитов

Автор SHA1 Сообщение Дата
Eilon Lipton 881e749d51 Throw when trying to dispose event handler IDs
Because it's not yet implemented.
2019-08-22 16:07:26 -07:00
Eilon Lipton fa34bca07a Add Label component, add StackLayout.Orientation property
- Also added helpers to serialize/deserialize Color objects and Double objects.
2019-08-22 15:29:52 -07:00
Eilon Lipton 78cfcbe1c9 Update StackLayout to new registration/base class 2019-08-22 14:14:44 -07:00
Steve Sanderson 075f90e713 Remove unused usings 2019-08-22 14:05:13 -07:00
Steve Sanderson 2ca18fcc63 Encapsulate native control registration 2019-08-22 14:05:13 -07:00
Steve Sanderson b4f31e48a4 Define NativeControlComponentBase so as to eliminate direct use of RenderTreeBuilder in consumers 2019-08-22 14:05:13 -07:00
Steve Sanderson d1bc4a6700 Use AttributesBuilder to simplify attribute rendering 2019-08-22 14:05:13 -07:00
Steve Sanderson a8d7cc49a7 Dispose adapters/controls when removed from UI 2019-08-22 14:05:13 -07:00
Eilon Lipton bbc0e4a60f Blaxamarin updates: Have file represent ContentPages, add StackLayout
- Redid root Blaxamarin components to represent a ContentPage, which should make it more generically useful in apps
- Added StackLayout component
- But... found a bug in Emblazon where siblingIndex of elements is always 0 (applies to BlinForms and Blaxamarin, but has a more negative effect in Blaxamarin where sibling order always matters, whereas in BlinForms it rarely matters)
2019-08-22 14:00:22 -07:00
Eilon Lipton 66ed7e31c1 Remove private setter from BlinFormsRenderer.RootForm 2019-08-22 13:58:02 -07:00
Eilon Lipton a75ba4d8de Initial support for Blaxamarin!
- Only Button is supported
- That's it, only Button
2019-08-21 10:12:12 -07:00
Eilon Lipton 8304f47851 Add emtpy Blaxamarin.Framework project
- Created appropriate dependencies between projects
- Updated (downgraded, actually) package references to stable versions
2019-08-20 16:24:13 -07:00
Eilon Lipton e157884cc2 Add solution folders 2019-08-20 14:19:53 -07:00
Eilon Lipton bbb4bb1f5c Factor .NET Standard components of BlinForms into new Emblazon library
- Emblazon library is .NET Standard 2.0
- BlinForms remains .NET Core App 3.0 (required for WinForms)
- Made things reasonably generic in Emblazon to support future native renderers (e.g. Blaxamarin)
2019-08-20 13:48:15 -07:00
Eilon Lipton 84bdc4f5ca Add empty Xamarin.Forms project
With iOS and Android backends.
2019-08-19 15:52:03 -07:00
Eilon Lipton c84cc210f8 Rename BlinForms sample project 2019-08-19 15:19:57 -07:00
Eilon Lipton 4a19a1f8aa Make rendered attributes nullable
They only render when non-null, so less logic is needed to know when to apply them (always apply them).
2019-08-19 09:51:19 -07:00
Eilon Lipton c088a950aa Remove PlaceholderControl and custom parenting logic
New logic is to assume that if target control is already parented, no need to add it as a child control.
2019-08-19 09:36:20 -07:00
Eilon Lipton 1fa2e77f63 Introduce factory with context for creating native controls
This will be useful for the SplitContainer so that dummy controls won't be needed for the splitter panels.
2019-08-16 14:00:34 -07:00
Eilon Lipton afc32ba73d Add initial SplitContainer component 2019-08-16 13:32:58 -07:00
Eilon Lipton eac0c6ff9b Add more common Control properties, add TextBox component 2019-08-14 16:42:54 -07:00
Eilon Lipton 53feff4a5b Change Blinforms container control to DockStyle.Fill
This is needed (for now) to have a reasonable anchor behavior for child controls
2019-08-14 16:42:36 -07:00
Eilon Lipton bebbcff862 Add debugging output for odd-looking sibling index
E.g. a sibling index that is out-of-bounds on the child collection.
2019-08-14 14:59:51 -07:00
Eilon Lipton c503365479 Add text and markup nodes at correct sibling index 2019-08-14 14:59:25 -07:00
Eilon Lipton 4e415d4b0d Minor code cleanup and simplification 2019-08-14 14:17:47 -07:00
Eilon Lipton 6a29678b7e Add support for frame range frame types
This enables supporting nested components
2019-08-14 11:26:24 -07:00
Eilon Lipton 79ede4e1d0 Add missing property mapper types 2019-08-14 11:25:52 -07:00
Eilon Lipton 4b07657b06 Move element creation code into a single method
(No functional change at all.)
2019-08-14 10:29:44 -07:00
Eilon Lipton bb3f3bb6f5 Promote Control properties to base component 2019-08-13 15:45:57 -07:00
Eilon Lipton f19d9c9e17 Add readonly modifier 2019-08-13 15:45:28 -07:00
Eilon Lipton 83944bb2d7 Update sequence indexes in rendering 2019-08-13 14:21:39 -07:00
Eilon Lipton 4c00f697bf Initial support for removing frames/controls
- Dummy adapters (not controls) are added to the shadow adapter tree
2019-08-12 17:00:52 -07:00
Eilon Lipton fba7eb8d7f Implement SetAttribute
- This enables changes to display after initial load
- Use native control attribute setters instead of always using Reflection
2019-08-12 11:03:29 -07:00
Eilon Lipton aa14c286a5 Introduction of BlontrolAdapters
- Removed container Blontrols and replaced with shadow tree of BlontrolAdapters
- Temporarily removed Timer component (it's not a Control, so it's tricky)
2019-08-12 10:18:18 -07:00
Eilon Lipton 03a07eb7b1 Add container resize logic so controls show up
- Also add Timer component
2019-08-06 08:27:36 -07:00
Eilon Lipton 9b64beb69c Minor formatting/code cleanup 2019-08-05 14:19:55 -07:00
Eilon Lipton a1ba123c48 Add Left/Width/Height properties 2019-08-05 14:19:38 -07:00
Eilon Lipton 2ff67035f4 Add initial code from Steve 2019-08-02 16:49:21 -07:00