Example #1
0
        private ToolBarPanel FindToolBarPanel()
        {
            DependencyObject child        = GetTemplateChild(ToolBarPanelTemplateName);
            ToolBarPanel     toolBarPanel = child as ToolBarPanel;

            if (child != null && toolBarPanel == null)
            {
                throw new NotSupportedException(SR.Get(SRID.ToolBar_InvalidStyle_ToolBarPanel, child.GetType()));
            }
            return(toolBarPanel);
        }
Example #2
0
        // Token: 0x06005823 RID: 22563 RVA: 0x001868A8 File Offset: 0x00184AA8
        private void InvalidateLayout()
        {
            this._minLength = 0.0;
            this._maxLength = 0.0;
            base.InvalidateMeasure();
            ToolBarPanel toolBarPanel = this.ToolBarPanel;

            if (toolBarPanel != null)
            {
                toolBarPanel.InvalidateMeasure();
            }
        }
Example #3
0
        // Token: 0x0600582E RID: 22574 RVA: 0x00186B9C File Offset: 0x00184D9C
        private ToolBarPanel FindToolBarPanel()
        {
            DependencyObject templateChild = base.GetTemplateChild("PART_ToolBarPanel");
            ToolBarPanel     toolBarPanel  = templateChild as ToolBarPanel;

            if (templateChild != null && toolBarPanel == null)
            {
                throw new NotSupportedException(SR.Get("ToolBar_InvalidStyle_ToolBarPanel", new object[]
                {
                    templateChild.GetType()
                }));
            }
            return(toolBarPanel);
        }
Example #4
0
        private void InvalidateLayout()
        {
            // Reset the calculated min and max size
            _minLength = 0.0;
            _maxLength = 0.0;

            // Min and max sizes are calculated in ToolBar.MeasureOverride
            InvalidateMeasure();

            ToolBarPanel toolBarPanel = this.ToolBarPanel;

            if (toolBarPanel != null)
            {
                // Whether elements are in the overflow or not is decided
                // in ToolBarPanel.MeasureOverride.
                toolBarPanel.InvalidateMeasure();
            }
        }
Example #5
0
        /// <summary>
        /// Measure the content and store the desired size of the content
        /// </summary>
        /// <param name="constraint"></param>
        /// <returns></returns>
        protected override Size MeasureOverride(Size constraint)
        {
            // Perform a normal layout
            Size desiredSize = base.MeasureOverride(constraint);

            //
            // MinLength and MaxLength are used by ToolBarTray to determine
            // its layout. ToolBarPanel will calculate its version of these values.
            // ToolBar needs to add on the space used up by elements around the ToolBarPanel.
            //
            // Note: This calculation is not 100% accurate. If a scale transform is applied
            // within the template of the ToolBar (between the ToolBar and the ToolBarPanel),
            // then the coordinate spaces will not match and the values will be wrong.
            //
            // Note: If a ToolBarPanel is not contained within the ToolBar's template,
            // then these values will always be zero, and ToolBarTray will not layout correctly.
            //
            ToolBarPanel toolBarPanel = ToolBarPanel;

            if (toolBarPanel != null)
            {
                // Calculate the extra length from the extra space allocated between the ToolBar and the ToolBarPanel.
                double    extraLength;
                Thickness margin = toolBarPanel.Margin;
                if (toolBarPanel.Orientation == Orientation.Horizontal)
                {
                    extraLength = Math.Max(0.0, desiredSize.Width - toolBarPanel.DesiredSize.Width + margin.Left + margin.Right);
                }
                else
                {
                    extraLength = Math.Max(0.0, desiredSize.Height - toolBarPanel.DesiredSize.Height + margin.Top + margin.Bottom);
                }

                // Add the calculated extra length to the lengths provided by ToolBarPanel
                _minLength = toolBarPanel.MinLength + extraLength;
                _maxLength = toolBarPanel.MaxLength + extraLength;
            }

            return(desiredSize);
        }
Example #6
0
        /// <summary> Remeasures a <see cref="T:System.Windows.Controls.ToolBar" />. </summary>
        /// <param name="constraint">The measurement constraints. A <see cref="T:System.Windows.Controls.ToolBar" /> cannot return a size larger than the constraint.</param>
        /// <returns>The size of the <see cref="T:System.Windows.Controls.ToolBar" />.</returns>
        // Token: 0x0600582B RID: 22571 RVA: 0x00186AAC File Offset: 0x00184CAC
        protected override Size MeasureOverride(Size constraint)
        {
            Size         result       = base.MeasureOverride(constraint);
            ToolBarPanel toolBarPanel = this.ToolBarPanel;

            if (toolBarPanel != null)
            {
                Thickness margin = toolBarPanel.Margin;
                double    num;
                if (toolBarPanel.Orientation == Orientation.Horizontal)
                {
                    num = Math.Max(0.0, result.Width - toolBarPanel.DesiredSize.Width + margin.Left + margin.Right);
                }
                else
                {
                    num = Math.Max(0.0, result.Height - toolBarPanel.DesiredSize.Height + margin.Top + margin.Bottom);
                }
                this._minLength = toolBarPanel.MinLength + num;
                this._maxLength = toolBarPanel.MaxLength + num;
            }
            return(result);
        }
 public static IObservable <EventPattern <ContextMenuEventArgs> > ContextMenuClosingObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <ContextMenuEventHandler, ContextMenuEventArgs>(h => This.ContextMenuClosing += h, h => This.ContextMenuClosing -= h));
 }
 public static IObservable <EventPattern <MouseButtonEventArgs> > PreviewMouseUpObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <MouseButtonEventHandler, MouseButtonEventArgs>(h => This.PreviewMouseUp += h, h => This.PreviewMouseUp -= h));
 }
 public static IObservable <EventPattern <ManipulationCompletedEventArgs> > ManipulationCompletedObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <EventHandler <ManipulationCompletedEventArgs>, ManipulationCompletedEventArgs>(h => This.ManipulationCompleted += h, h => This.ManipulationCompleted -= h));
 }
 public static IObservable <EventPattern <ToolTipEventArgs> > ToolTipClosingObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <ToolTipEventHandler, ToolTipEventArgs>(h => This.ToolTipClosing += h, h => This.ToolTipClosing -= h));
 }
 public static IObservable <EventPattern <DragEventArgs> > PreviewDragLeaveObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <DragEventHandler, DragEventArgs>(h => This.PreviewDragLeave += h, h => This.PreviewDragLeave -= h));
 }
 public static IObservable <EventPattern <QueryContinueDragEventArgs> > QueryContinueDragObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <QueryContinueDragEventHandler, QueryContinueDragEventArgs>(h => This.QueryContinueDrag += h, h => This.QueryContinueDrag -= h));
 }
 public static IObservable <EventPattern <RoutedEventArgs> > LostFocusObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <RoutedEventHandler, RoutedEventArgs>(h => This.LostFocus += h, h => This.LostFocus -= h));
 }
 public static IObservable <EventPattern <SizeChangedEventArgs> > SizeChangedObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <SizeChangedEventHandler, SizeChangedEventArgs>(h => This.SizeChanged += h, h => This.SizeChanged -= h));
 }
 public static IObservable <EventPattern <RoutedEventArgs> > UnloadedObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <RoutedEventHandler, RoutedEventArgs>(h => This.Unloaded += h, h => This.Unloaded -= h));
 }
 public static IObservable <EventPattern <EventArgs> > LayoutUpdatedObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <EventHandler, EventArgs>(h => This.LayoutUpdated += h, h => This.LayoutUpdated -= h));
 }
 public static IObservable <EventPattern <TouchEventArgs> > TouchLeaveObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <EventHandler <TouchEventArgs>, TouchEventArgs>(h => This.TouchLeave += h, h => This.TouchLeave -= h));
 }
 public static IObservable <EventPattern <TouchEventArgs> > PreviewTouchUpObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <EventHandler <TouchEventArgs>, TouchEventArgs>(h => This.PreviewTouchUp += h, h => This.PreviewTouchUp -= h));
 }
 public static IObservable <EventPattern <DragEventArgs> > DropObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <DragEventHandler, DragEventArgs>(h => This.Drop += h, h => This.Drop -= h));
 }
 public static IObservable <EventPattern <MouseButtonEventArgs> > MouseLeftButtonDownObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <MouseButtonEventHandler, MouseButtonEventArgs>(h => This.MouseLeftButtonDown += h, h => This.MouseLeftButtonDown -= h));
 }
 public static IObservable <EventPattern <KeyboardFocusChangedEventArgs> > LostKeyboardFocusObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <KeyboardFocusChangedEventHandler, KeyboardFocusChangedEventArgs>(h => This.LostKeyboardFocus += h, h => This.LostKeyboardFocus -= h));
 }
Example #22
0
		public TaskControls(Manager manager)
			: base(manager) {
			MinimumWidth = 340;
			MinimumHeight = 140;
			Height = 480;
			Center();
			Text = "Controls Test";

			TopPanel.Visible = true;
			Caption.Text = "Information";
			Description.Text = "Demonstration of various controls available in Window Library";
			Caption.TextColor = Description.TextColor = new Color(96, 96, 96);

			grpEdit = new GroupPanel(Manager);
			grpEdit.Init();
			grpEdit.Parent = this;
			grpEdit.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
			grpEdit.Width = ClientWidth - 200;
			grpEdit.Height = 160;
			grpEdit.Left = 8;
			grpEdit.Top = TopPanel.Height + 8;
			grpEdit.Text = "EditBox";

			pnlControls = new Panel(Manager);
			pnlControls.Init();
			pnlControls.Passive = true;
			pnlControls.Parent = this;
			pnlControls.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
			pnlControls.Left = 8;
			pnlControls.Top = grpEdit.Top + grpEdit.Height + 8;
			pnlControls.Width = ClientWidth - 200;
			pnlControls.Height = BottomPanel.Top - 32 - pnlControls.Top;
			pnlControls.BevelBorder = EBevelBorder.All;
			pnlControls.BevelMargin = 1;
			pnlControls.BevelStyle = EBevelStyle.Etched;
			pnlControls.Color = Color.Transparent;

			lblEdit = new Label(manager);
			lblEdit.Init();
			lblEdit.Parent = grpEdit;
			lblEdit.Left = 16;
			lblEdit.Top = 8;
			lblEdit.Text = "Testing field:";
			lblEdit.Width = 128;
			lblEdit.Height = 16;

			txtEdit = new TextBox(manager);
			txtEdit.Init();
			txtEdit.Parent = grpEdit;
			txtEdit.Left = 16;
			txtEdit.Top = 24;
			txtEdit.Width = grpEdit.ClientWidth - 32;
			txtEdit.Height = 20;
			txtEdit.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right | EAnchors.Bottom;
			txtEdit.Text = "Text";

			rdbNormal = new RadioButton(manager);
			rdbNormal.Init();
			rdbNormal.Parent = grpEdit;
			rdbNormal.Left = 16;
			rdbNormal.Top = 52;
			rdbNormal.Width = grpEdit.ClientWidth - 32;
			rdbNormal.Anchor = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
			rdbNormal.Checked = true;
			rdbNormal.Text = "Normal mode";
			rdbNormal.ToolTip.Text = "Enables normal mode for TextBox control.";
			rdbNormal.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(ModeChanged);

			rdbPassword = new RadioButton(manager);
			rdbPassword.Init();
			rdbPassword.Parent = grpEdit;
			rdbPassword.Left = 16;
			rdbPassword.Top = 68;
			rdbPassword.Width = grpEdit.ClientWidth - 32;
			rdbPassword.Anchor = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
			rdbPassword.Checked = false;
			rdbPassword.Text = "Password mode";
			rdbPassword.ToolTip.Text = "Enables password mode for TextBox control.";
			rdbPassword.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(ModeChanged);

			chkBorders = new CheckBox(manager);
			chkBorders.Init();
			chkBorders.Parent = grpEdit;
			chkBorders.Left = 16;
			chkBorders.Top = 96;
			chkBorders.Width = grpEdit.ClientWidth - 32;
			chkBorders.Anchor = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
			chkBorders.Checked = false;
			chkBorders.Text = "Borderless mode";
			chkBorders.ToolTip.Text = "Enables or disables borderless mode for TextBox control.";
			chkBorders.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(chkBorders_CheckedChanged);

			chkReadOnly = new CheckBox(manager);
			chkReadOnly.Init();
			chkReadOnly.Parent = grpEdit;
			chkReadOnly.Left = 16;
			chkReadOnly.Top = 110;
			chkReadOnly.Width = grpEdit.ClientWidth - 32;
			chkReadOnly.Anchor = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
			chkReadOnly.Checked = false;
			chkReadOnly.Text = "Read only mode";
			chkReadOnly.ToolTip.Text = "Enables or disables read only mode for TextBox control.\nThis mode is necessary to enable explicitly.";
			chkReadOnly.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(chkReadOnly_CheckedChanged);

			string[] colors = new string[] {"Red", "Green", "Blue", "Yellow", "Orange", "Purple", "White", "Black", "Magenta", "Cyan",
                                      "Brown", "Aqua", "Beige", "Coral", "Crimson", "Gray", "Azure", "Ivory", "Indigo", "Khaki",
                                      "Orchid", "Plum", "Salmon", "Silver", "Gold", "Pink", "Linen", "Lime", "Olive", "Slate"};

			spnMain = new SpinBox(manager, ESpinBoxMode.List);
			spnMain.Init();
			spnMain.Parent = pnlControls;
			spnMain.Left = 16;
			spnMain.Top = 16;
			spnMain.Width = pnlControls.Width - 32;
			spnMain.Height = 20;
			spnMain.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
			spnMain.Items.AddRange(colors);
			spnMain.Mode = ESpinBoxMode.Range;

			spnMain.ItemIndex = 0;

			cmbMain = new ComboBox(manager);
			cmbMain.Init();
			cmbMain.Parent = pnlControls;
			cmbMain.Left = 16;
			cmbMain.Top = 44;
			cmbMain.Width = pnlControls.Width - 32;
			cmbMain.Height = 20;
			cmbMain.ReadOnly = true;
			cmbMain.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
			cmbMain.Items.AddRange(colors);
			cmbMain.ItemIndex = 0;
			cmbMain.MaxItems = 5;
			cmbMain.ToolTip.Color = Color.Yellow;
			cmbMain.Movable = cmbMain.Resizable = true;
			cmbMain.OutlineMoving = cmbMain.OutlineResizing = true;

			trkMain = new TrackBar(manager);
			trkMain.Init();
			trkMain.Parent = pnlControls;
			trkMain.Left = 16;
			trkMain.Top = 72;
			trkMain.Width = pnlControls.Width - 32;
			trkMain.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
			trkMain.Range = 64;
			trkMain.Value = 16;
			trkMain.ValueChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(trkMain_ValueChanged);

			lblTrack = new Label(manager);
			lblTrack.Init();
			lblTrack.Parent = pnlControls;
			lblTrack.Left = 16;
			lblTrack.Top = 96;
			lblTrack.Width = pnlControls.Width - 32;
			lblTrack.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
			lblTrack.Alignment = EAlignment.TopRight;
			lblTrack.TextColor = new Color(32, 32, 32);
			trkMain_ValueChanged(this, null); // forcing label redraw with init values

			mnuListBox = new ContextMenu(manager);

			MenuItem i1 = new MenuItem("This is very long text");
			MenuItem i2 = new MenuItem("Menu", true);
			MenuItem i3 = new MenuItem("Item", false);
			//i3.Enabled = false;
			MenuItem i4 = new MenuItem("Separated", true);

			MenuItem i11 = new MenuItem();
			MenuItem i12 = new MenuItem();
			MenuItem i13 = new MenuItem();
			MenuItem i14 = new MenuItem();

			MenuItem i111 = new MenuItem();
			MenuItem i112 = new MenuItem();
			MenuItem i113 = new MenuItem();

			mnuListBox.Items.AddRange(new MenuItem[] { i1, i2, i3, i4 });
			i2.Items.AddRange(new MenuItem[] { i11, i12, i13, i14 });
			i13.Items.AddRange(new MenuItem[] { i111, i112, i113 });


			lstMain = new ListBox(manager);
			lstMain.Init();
			lstMain.Parent = this;
			lstMain.Top = TopPanel.Height + 8;
			lstMain.Left = grpEdit.Left + grpEdit.Width + 8;
			lstMain.Width = ClientWidth - lstMain.Left - 8;
			lstMain.Height = ClientHeight - 16 - BottomPanel.Height - TopPanel.Height;
			lstMain.Anchor = EAnchors.Top | EAnchors.Right | EAnchors.Bottom;
			lstMain.HideSelection = false;
			lstMain.Items.AddRange(colors);
			lstMain.ContextMenu = mnuListBox;

			prgMain = new ProgressBar(manager);
			prgMain.Init();
			prgMain.Parent = this.BottomPanel;
			prgMain.Left = lstMain.Left;
			prgMain.Top = 10;
			prgMain.Width = lstMain.Width;
			prgMain.Height = 16;
			prgMain.Anchor = EAnchors.Top | EAnchors.Right;
			prgMain.Mode = EProgressBarMode.Infinite;
			prgMain.Passive = false;

			btnDisable = new Button(manager);
			btnDisable.Init();
			btnDisable.Parent = BottomPanel;
			btnDisable.Left = 8;
			btnDisable.Top = 8;
			btnDisable.Text = "Disable";
			btnDisable.Click += new Controls.EventHandler(btnDisable_Click);
			btnDisable.TextColor = Color.FromNonPremultiplied(255, 64, 32, 200);

			btnProgress = new Button(manager);
			btnProgress.Init();
			btnProgress.Parent = BottomPanel;
			btnProgress.Left = prgMain.Left - 16;
			btnProgress.Top = prgMain.Top;
			btnProgress.Height = 16;
			btnProgress.Width = 16;
			btnProgress.Text = "!";
			btnProgress.Anchor = EAnchors.Top | EAnchors.Right;
			btnProgress.Click += new Controls.EventHandler(btnProgress_Click);

			mnuMain = new MainMenu(manager);

			mnuMain.Items.Add(i2);
			mnuMain.Items.Add(i13);
			mnuMain.Items.Add(i3);
			mnuMain.Items.Add(i4);

			MainMenu = mnuMain;

			ToolBarPanel tlp = new ToolBarPanel(manager);
			ToolBarPanel = tlp;

			ToolBar tlb = new ToolBar(manager);
			ToolBar tlbx = new ToolBar(manager);
			tlb.FullRow = true;
			tlbx.Row = 1;
			tlbx.FullRow = false;

			tlp.Add(tlb);
			tlp.Add(tlbx);

			/*
			tlb.Init();         
			tlb.Width = 256;
			tlb.Parent = ToolBarPanel;*/


			//tlbx.Init();
			/*
			tlbx.Width = 512;
			tlbx.Top = 25;      
			tlbx.Parent = ToolBarPanel;*/

			/* 
			 ToolBarButton tb1 = new ToolBarButton(manager);
			 tb1.Init();
			 tb1.Parent = tlb;
			 tb1.Left = 10;
			 tb1.Top = 1;
			 tb1.Glyph = new Glyph(Manager.Skin.Images["Icon.Warning"].Resource);      
			 tb1.Glyph.SizeMode = SizeMode.Stretched;  */

			StatusBar stb = new StatusBar(Manager);
			StatusBar = stb;

			DefaultControl = txtEdit;

			OutlineMoving = true;
			OutlineResizing = true;

			BottomPanel.BringToFront();

			SkinChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(TaskControls_SkinChanged);
			TaskControls_SkinChanged(null, null);
		}
        } // NormalizedViewport

        #endregion

        #region Constructor

        /// <summary>
        /// Editor Viewport.
        /// </summary>
        public EditorViewport(RectangleF normalizedViewport, ViewportMode mode)
        {
            #region Controls

            viewportControl = new Container
            {
                Parent   = MainWindow.ViewportsSpace,
                Anchor   = Anchors.Left | Anchors.Top,
                CanFocus = false,
            };
            // Stores the normalized viewport to adapt to screen size changes.
            NormalizedViewport = normalizedViewport;

            ToolBarPanel topPanel = new ToolBarPanel {
                Width = viewportControl.Width
            };
            viewportControl.ToolBarPanel = topPanel;
            ToolBar toolBarTopPanel = new ToolBar
            {
                Parent  = topPanel,
                Movable = true,
                FullRow = true,
            };
            var modeComboBox = new ComboBox
            {
                Parent = topPanel,
                Width  = 200,
                Top    = 2,
            };
            modeComboBox.Items.AddRange(new [] { "Perspective", "Top", "Front", "Right", "Game" });
            modeComboBox.ItemIndex         = 0;
            modeComboBox.ItemIndexChanged += delegate
            {
                switch (modeComboBox.ItemIndex)
                {
                case 0: Mode = ViewportMode.Perspective; break;

                case 1: Mode = ViewportMode.Top; break;

                case 2: Mode = ViewportMode.Front; break;

                case 3: Mode = ViewportMode.Right; break;

                case 4: Mode = ViewportMode.Game; break;
                }
            };
            modeComboBox.Draw += delegate
            {
                if (modeComboBox.ListBoxVisible)
                {
                    return;
                }
                switch (Mode)
                {
                case ViewportMode.Perspective: modeComboBox.ItemIndex = 0; break;

                case ViewportMode.Top: modeComboBox.ItemIndex = 1; break;

                case ViewportMode.Front: modeComboBox.ItemIndex = 2; break;

                case ViewportMode.Right: modeComboBox.ItemIndex = 3; break;

                case ViewportMode.Game: modeComboBox.ItemIndex = 4; break;
                }
            };

            #endregion

            #region Cameras

            // Assets
            ambientLight = new AmbientLight {
                Name = "Editor Camara Ambient Light ", Color = Color.White, Intensity = 5f
            };
            postProcess = new PostProcess   {
                Name = "Editor Camera Post Process"
            };
            postProcess.ToneMapping.ToneMappingFunction = ToneMapping.ToneMappingFunctionEnumerate.FilmicALU;
            postProcess.Bloom.Enabled = false;

            // Editor Camera
            viewportCamera = new GameObject3D();
            viewportCamera.AddComponent <Camera>();
            viewportCamera.Camera.Enabled        = true;
            viewportCamera.Layer                 = Layer.GetLayerByNumber(31);
            viewportCamera.Camera.RenderingOrder = int.MinValue;
            editorCameraScript            = (ScriptEditorCamera)viewportCamera.AddComponent <ScriptEditorCamera>();
            editorCameraScript.Mode       = ScriptEditorCamera.ModeType.Maya;
            editorCameraScript.ClientArea = viewportControl.ClientArea;
            // Camera to render the gizmos and other editor elements.
            // This is done because the gizmos need to be in front of everything and I can't clear the ZBuffer wherever I want.
            helperCamera = new GameObject3D();
            helperCamera.AddComponent <Camera>();
            helperCamera.Camera.Enabled     = true;
            helperCamera.Camera.CullingMask = Layer.GetLayerByNumber(31).Mask; // The editor layer.
            helperCamera.Camera.ClearColor  = Color.Transparent;
            helperCamera.Layer = Layer.GetLayerByNumber(31);
            // Set the viewport camara as master of the gizmo camera.
            helperCamera.Camera.MasterCamera = viewportCamera.Camera;

            #endregion

            // Set default camera transformation in each mode.
            Mode = ViewportMode.Perspective;
            Reset();
            Mode = ViewportMode.Top;
            Reset();
            Mode = ViewportMode.Front;
            Reset();
            Mode = ViewportMode.Right;
            Reset();

            // Set current mode.
            Mode = mode;

            // Adjust viewport dimentions and render target size when the size changes.
            Screen.ScreenSizeChanged += OnScreenSizeChanged;
        } // EditorViewport
 public static IObservable <EventPattern <KeyEventArgs> > KeyUpObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <KeyEventHandler, KeyEventArgs>(h => This.KeyUp += h, h => This.KeyUp -= h));
 }
 public static IObservable <EventPattern <GiveFeedbackEventArgs> > GiveFeedbackObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <GiveFeedbackEventHandler, GiveFeedbackEventArgs>(h => This.GiveFeedback += h, h => This.GiveFeedback -= h));
 }
Example #26
0
        public TaskControls(Manager manager)
            : base(manager)
        {
            MinimumWidth  = 340;
            MinimumHeight = 140;
            Height        = 480;
            Center();
            Text = "Controls Test";

            TopPanel.Visible  = true;
            Caption.Text      = "Information";
            Description.Text  = "Demonstration of various controls available in Window Library";
            Caption.TextColor = Description.TextColor = new Color(96, 96, 96);

            grpEdit = new GroupPanel(Manager);
            grpEdit.Init();
            grpEdit.Parent = this;
            grpEdit.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
            grpEdit.Width  = ClientWidth - 200;
            grpEdit.Height = 160;
            grpEdit.Left   = 8;
            grpEdit.Top    = TopPanel.Height + 8;
            grpEdit.Text   = "EditBox";

            pnlControls = new Panel(Manager);
            pnlControls.Init();
            pnlControls.Passive     = true;
            pnlControls.Parent      = this;
            pnlControls.Anchor      = EAnchors.Left | EAnchors.Top | EAnchors.Right;
            pnlControls.Left        = 8;
            pnlControls.Top         = grpEdit.Top + grpEdit.Height + 8;
            pnlControls.Width       = ClientWidth - 200;
            pnlControls.Height      = BottomPanel.Top - 32 - pnlControls.Top;
            pnlControls.BevelBorder = EBevelBorder.All;
            pnlControls.BevelMargin = 1;
            pnlControls.BevelStyle  = EBevelStyle.Etched;
            pnlControls.Color       = Color.Transparent;

            lblEdit = new Label(manager);
            lblEdit.Init();
            lblEdit.Parent = grpEdit;
            lblEdit.Left   = 16;
            lblEdit.Top    = 8;
            lblEdit.Text   = "Testing field:";
            lblEdit.Width  = 128;
            lblEdit.Height = 16;

            txtEdit = new TextBox(manager);
            txtEdit.Init();
            txtEdit.Parent = grpEdit;
            txtEdit.Left   = 16;
            txtEdit.Top    = 24;
            txtEdit.Width  = grpEdit.ClientWidth - 32;
            txtEdit.Height = 20;
            txtEdit.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right | EAnchors.Bottom;
            txtEdit.Text   = "Text";

            rdbNormal = new RadioButton(manager);
            rdbNormal.Init();
            rdbNormal.Parent          = grpEdit;
            rdbNormal.Left            = 16;
            rdbNormal.Top             = 52;
            rdbNormal.Width           = grpEdit.ClientWidth - 32;
            rdbNormal.Anchor          = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
            rdbNormal.Checked         = true;
            rdbNormal.Text            = "Normal mode";
            rdbNormal.ToolTip.Text    = "Enables normal mode for TextBox control.";
            rdbNormal.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(ModeChanged);

            rdbPassword = new RadioButton(manager);
            rdbPassword.Init();
            rdbPassword.Parent          = grpEdit;
            rdbPassword.Left            = 16;
            rdbPassword.Top             = 68;
            rdbPassword.Width           = grpEdit.ClientWidth - 32;
            rdbPassword.Anchor          = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
            rdbPassword.Checked         = false;
            rdbPassword.Text            = "Password mode";
            rdbPassword.ToolTip.Text    = "Enables password mode for TextBox control.";
            rdbPassword.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(ModeChanged);

            chkBorders = new CheckBox(manager);
            chkBorders.Init();
            chkBorders.Parent          = grpEdit;
            chkBorders.Left            = 16;
            chkBorders.Top             = 96;
            chkBorders.Width           = grpEdit.ClientWidth - 32;
            chkBorders.Anchor          = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
            chkBorders.Checked         = false;
            chkBorders.Text            = "Borderless mode";
            chkBorders.ToolTip.Text    = "Enables or disables borderless mode for TextBox control.";
            chkBorders.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(chkBorders_CheckedChanged);

            chkReadOnly = new CheckBox(manager);
            chkReadOnly.Init();
            chkReadOnly.Parent          = grpEdit;
            chkReadOnly.Left            = 16;
            chkReadOnly.Top             = 110;
            chkReadOnly.Width           = grpEdit.ClientWidth - 32;
            chkReadOnly.Anchor          = EAnchors.Left | EAnchors.Bottom | EAnchors.Right;
            chkReadOnly.Checked         = false;
            chkReadOnly.Text            = "Read only mode";
            chkReadOnly.ToolTip.Text    = "Enables or disables read only mode for TextBox control.\nThis mode is necessary to enable explicitly.";
            chkReadOnly.CheckedChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(chkReadOnly_CheckedChanged);

            string[] colors = new string[] { "Red", "Green", "Blue", "Yellow", "Orange", "Purple", "White", "Black", "Magenta", "Cyan",
                                             "Brown", "Aqua", "Beige", "Coral", "Crimson", "Gray", "Azure", "Ivory", "Indigo", "Khaki",
                                             "Orchid", "Plum", "Salmon", "Silver", "Gold", "Pink", "Linen", "Lime", "Olive", "Slate" };

            spnMain = new SpinBox(manager, ESpinBoxMode.List);
            spnMain.Init();
            spnMain.Parent = pnlControls;
            spnMain.Left   = 16;
            spnMain.Top    = 16;
            spnMain.Width  = pnlControls.Width - 32;
            spnMain.Height = 20;
            spnMain.Anchor = EAnchors.Left | EAnchors.Top | EAnchors.Right;
            spnMain.Items.AddRange(colors);
            spnMain.Mode = ESpinBoxMode.Range;

            spnMain.ItemIndex = 0;

            cmbMain = new ComboBox(manager);
            cmbMain.Init();
            cmbMain.Parent   = pnlControls;
            cmbMain.Left     = 16;
            cmbMain.Top      = 44;
            cmbMain.Width    = pnlControls.Width - 32;
            cmbMain.Height   = 20;
            cmbMain.ReadOnly = true;
            cmbMain.Anchor   = EAnchors.Left | EAnchors.Top | EAnchors.Right;
            cmbMain.Items.AddRange(colors);
            cmbMain.ItemIndex     = 0;
            cmbMain.MaxItems      = 5;
            cmbMain.ToolTip.Color = Color.Yellow;
            cmbMain.Movable       = cmbMain.Resizable = true;
            cmbMain.OutlineMoving = cmbMain.OutlineResizing = true;

            trkMain = new TrackBar(manager);
            trkMain.Init();
            trkMain.Parent        = pnlControls;
            trkMain.Left          = 16;
            trkMain.Top           = 72;
            trkMain.Width         = pnlControls.Width - 32;
            trkMain.Anchor        = EAnchors.Left | EAnchors.Top | EAnchors.Right;
            trkMain.Range         = 64;
            trkMain.Value         = 16;
            trkMain.ValueChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(trkMain_ValueChanged);

            lblTrack = new Label(manager);
            lblTrack.Init();
            lblTrack.Parent    = pnlControls;
            lblTrack.Left      = 16;
            lblTrack.Top       = 96;
            lblTrack.Width     = pnlControls.Width - 32;
            lblTrack.Anchor    = EAnchors.Left | EAnchors.Top | EAnchors.Right;
            lblTrack.Alignment = EAlignment.TopRight;
            lblTrack.TextColor = new Color(32, 32, 32);
            trkMain_ValueChanged(this, null);             // forcing label redraw with init values

            mnuListBox = new ContextMenu(manager);

            MenuItem i1 = new MenuItem("This is very long text");
            MenuItem i2 = new MenuItem("Menu", true);
            MenuItem i3 = new MenuItem("Item", false);
            //i3.Enabled = false;
            MenuItem i4 = new MenuItem("Separated", true);

            MenuItem i11 = new MenuItem();
            MenuItem i12 = new MenuItem();
            MenuItem i13 = new MenuItem();
            MenuItem i14 = new MenuItem();

            MenuItem i111 = new MenuItem();
            MenuItem i112 = new MenuItem();
            MenuItem i113 = new MenuItem();

            mnuListBox.Items.AddRange(new MenuItem[] { i1, i2, i3, i4 });
            i2.Items.AddRange(new MenuItem[] { i11, i12, i13, i14 });
            i13.Items.AddRange(new MenuItem[] { i111, i112, i113 });


            lstMain = new ListBox(manager);
            lstMain.Init();
            lstMain.Parent        = this;
            lstMain.Top           = TopPanel.Height + 8;
            lstMain.Left          = grpEdit.Left + grpEdit.Width + 8;
            lstMain.Width         = ClientWidth - lstMain.Left - 8;
            lstMain.Height        = ClientHeight - 16 - BottomPanel.Height - TopPanel.Height;
            lstMain.Anchor        = EAnchors.Top | EAnchors.Right | EAnchors.Bottom;
            lstMain.HideSelection = false;
            lstMain.Items.AddRange(colors);
            lstMain.ContextMenu = mnuListBox;

            prgMain = new ProgressBar(manager);
            prgMain.Init();
            prgMain.Parent  = this.BottomPanel;
            prgMain.Left    = lstMain.Left;
            prgMain.Top     = 10;
            prgMain.Width   = lstMain.Width;
            prgMain.Height  = 16;
            prgMain.Anchor  = EAnchors.Top | EAnchors.Right;
            prgMain.Mode    = EProgressBarMode.Infinite;
            prgMain.Passive = false;

            btnDisable = new Button(manager);
            btnDisable.Init();
            btnDisable.Parent    = BottomPanel;
            btnDisable.Left      = 8;
            btnDisable.Top       = 8;
            btnDisable.Text      = "Disable";
            btnDisable.Click    += new Controls.EventHandler(btnDisable_Click);
            btnDisable.TextColor = Color.FromNonPremultiplied(255, 64, 32, 200);

            btnProgress = new Button(manager);
            btnProgress.Init();
            btnProgress.Parent = BottomPanel;
            btnProgress.Left   = prgMain.Left - 16;
            btnProgress.Top    = prgMain.Top;
            btnProgress.Height = 16;
            btnProgress.Width  = 16;
            btnProgress.Text   = "!";
            btnProgress.Anchor = EAnchors.Top | EAnchors.Right;
            btnProgress.Click += new Controls.EventHandler(btnProgress_Click);

            mnuMain = new MainMenu(manager);

            mnuMain.Items.Add(i2);
            mnuMain.Items.Add(i13);
            mnuMain.Items.Add(i3);
            mnuMain.Items.Add(i4);

            MainMenu = mnuMain;

            ToolBarPanel tlp = new ToolBarPanel(manager);

            ToolBarPanel = tlp;

            ToolBar tlb  = new ToolBar(manager);
            ToolBar tlbx = new ToolBar(manager);

            tlb.FullRow  = true;
            tlbx.Row     = 1;
            tlbx.FullRow = false;

            tlp.Add(tlb);
            tlp.Add(tlbx);

            /*
             * tlb.Init();
             * tlb.Width = 256;
             * tlb.Parent = ToolBarPanel;*/


            //tlbx.Init();

            /*
             * tlbx.Width = 512;
             * tlbx.Top = 25;
             * tlbx.Parent = ToolBarPanel;*/

            /*
             * ToolBarButton tb1 = new ToolBarButton(manager);
             * tb1.Init();
             * tb1.Parent = tlb;
             * tb1.Left = 10;
             * tb1.Top = 1;
             * tb1.Glyph = new Glyph(Manager.Skin.Images["Icon.Warning"].Resource);
             * tb1.Glyph.SizeMode = SizeMode.Stretched;  */

            StatusBar stb = new StatusBar(Manager);

            StatusBar = stb;

            DefaultControl = txtEdit;

            OutlineMoving   = true;
            OutlineResizing = true;

            BottomPanel.BringToFront();

            SkinChanged += new GodLesZ.Library.XNA.WindowLibrary.Controls.EventHandler(TaskControls_SkinChanged);
            TaskControls_SkinChanged(null, null);
        }
 public static IObservable <EventPattern <ManipulationBoundaryFeedbackEventArgs> > ManipulationBoundaryFeedbackObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <EventHandler <ManipulationBoundaryFeedbackEventArgs>, ManipulationBoundaryFeedbackEventArgs>(h => This.ManipulationBoundaryFeedback += h, h => This.ManipulationBoundaryFeedback -= h));
 }
 public static IObservable <EventPattern <DependencyPropertyChangedEventArgs> > FocusableChangedObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <DependencyPropertyChangedEventHandler, DependencyPropertyChangedEventArgs>(h => This.FocusableChanged += h, h => This.FocusableChanged -= h));
 }
 public static IObservable <EventPattern <TextCompositionEventArgs> > TextInputObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <TextCompositionEventHandler, TextCompositionEventArgs>(h => This.TextInput += h, h => This.TextInput -= h));
 }
 public static IObservable <EventPattern <ManipulationInertiaStartingEventArgs> > ManipulationInertiaStartingObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <EventHandler <ManipulationInertiaStartingEventArgs>, ManipulationInertiaStartingEventArgs>(h => This.ManipulationInertiaStarting += h, h => This.ManipulationInertiaStarting -= h));
 }
 public static IObservable <EventPattern <KeyEventArgs> > PreviewKeyDownObserver(this ToolBarPanel This)
 {
     return(Observable.FromEventPattern <KeyEventHandler, KeyEventArgs>(h => This.PreviewKeyDown += h, h => This.PreviewKeyDown -= h));
 }