Ejemplo n.º 1
0
        private Widget CreateColorsPane()
        {
            var pane = new ThemedScrollView {
                Padding = new Thickness {
                    Right = 15,
                },
            };

            pane.Content.Layout = new VBoxLayout {
                Spacing = 4
            };
            new EnumPropertyEditor <ColorThemeEnum>(
                new PropertyEditorParams(pane.Content, AppUserPreferences.Instance, nameof(Tangerine.AppUserPreferences.Theme), "User interface theme"));
            var tmp = new BooleanPropertyEditor(
                new PropertyEditorParams(pane.Content, UI.SceneView.SceneUserPreferences.Instance, nameof(UI.SceneView.SceneUserPreferences.EnableChessBackground), "Chess background"));

            tmp.ContainerWidget.AddChangeWatcher(
                () => UI.SceneView.SceneUserPreferences.Instance.EnableChessBackground, (v) => Application.InvalidateWindows());
            tmp = new BooleanPropertyEditor(
                new PropertyEditorParams(pane.Content, UI.SceneView.SceneUserPreferences.Instance, nameof(UI.SceneView.SceneUserPreferences.DrawFrameBorder), "Draw frame border"));
            tmp.ContainerWidget.AddChangeWatcher(
                () => UI.SceneView.SceneUserPreferences.Instance.DrawFrameBorder, (v) => Application.InvalidateWindows());
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.BackgroundColorA),
                "Background color A",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => ColorTheme.Current.SceneView.BackgroundColorA,
                pane);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.BackgroundColorB),
                "Background color B",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => ColorTheme.Current.SceneView.BackgroundColorB,
                pane);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.RootWidgetOverlayColor),
                "Root overlay color",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => ColorTheme.Current.SceneView.RootWidgetOverlayColor,
                pane);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.AnimationPreviewBackground),
                "Animation preview background",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => Color4.Black.Transparentify(0.6f),
                pane);
            return(pane);
        }
Ejemplo n.º 2
0
        private Widget CreateColorsPane()
        {
            var pane = new ThemedScrollView();

            pane.Content.Layout = new VBoxLayout {
                Spacing = 4
            };
            pane.Content.Padding = contentPadding;
            var tmp = new BooleanPropertyEditor(
                new PreferencesPropertyEditorParams(pane.Content, UI.SceneView.SceneUserPreferences.Instance, propertyName: nameof(UI.SceneView.SceneUserPreferences.EnableChessBackground), displayName: "Chess background"));

            tmp.ContainerWidget.AddChangeWatcher(
                () => UI.SceneView.SceneUserPreferences.Instance.EnableChessBackground, (v) => Application.InvalidateWindows());
            tmp = new BooleanPropertyEditor(
                new PreferencesPropertyEditorParams(pane.Content, UI.SceneView.SceneUserPreferences.Instance, propertyName: nameof(UI.SceneView.SceneUserPreferences.DrawFrameBorder), displayName: "Draw frame border"));
            tmp.ContainerWidget.AddChangeWatcher(
                () => UI.SceneView.SceneUserPreferences.Instance.DrawFrameBorder, (v) => Application.InvalidateWindows());
            editors.Add(tmp);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.BackgroundColorA),
                "Background color A",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => ColorTheme.Current.SceneView.BackgroundColorA,
                pane);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.BackgroundColorB),
                "Background color B",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => ColorTheme.Current.SceneView.BackgroundColorB,
                pane);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.RootWidgetOverlayColor),
                "Root overlay color",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => ColorTheme.Current.SceneView.RootWidgetOverlayColor,
                pane);
            CreateColorPropertyEditor(
                nameof(UI.SceneView.SceneUserPreferences.AnimationPreviewBackground),
                "Animation preview background",
                Core.UserPreferences.Instance.Get <UI.SceneView.SceneUserPreferences>(),
                () => Color4.Black.Transparentify(0.6f),
                pane);
            return(pane);
        }
Ejemplo n.º 3
0
            public MeshRow(Model3DAttachment.MeshOption mesh, ObservableCollection <Model3DAttachment.MeshOption> options) : base(mesh, options)
            {
                Layout  = new VBoxLayout();
                Padding = new Thickness(AttachmentMetrics.Spacing);
                var meshIdPropEditor = new StringPropertyEditor(
                    Decorate(new PropertyEditorParams(
                                 Header,
                                 mesh,
                                 nameof(Model3DAttachment.MeshOption.Id))));

                meshIdPropEditor.ContainerWidget.MinMaxWidth = AttachmentMetrics.EditorWidth;

                var cullModePropEditor = new EnumPropertyEditor <CullMode>(
                    Decorate(new PropertyEditorParams(
                                 Header,
                                 mesh,
                                 nameof(Model3DAttachment.MeshOption.CullMode))));

                cullModePropEditor.ContainerWidget.MinMaxWidth = AttachmentMetrics.EditorWidth;

                var opaquePropEditor = new BooleanPropertyEditor(
                    Decorate(new PropertyEditorParams(
                                 Header,
                                 mesh,
                                 nameof(Model3DAttachment.MeshOption.Opaque))));

                opaquePropEditor.ContainerWidget.MinMaxWidth = AttachmentMetrics.ControlWidth;

                var hitPropEditor = new BooleanPropertyEditor(
                    Decorate(new PropertyEditorParams(
                                 Header,
                                 mesh,
                                 nameof(Model3DAttachment.MeshOption.HitTestTarget))));

                hitPropEditor.ContainerWidget.MinMaxWidth = AttachmentMetrics.ControlWidth;
                CompoundPresenter.Add(Presenters.StripePresenter);
            }