示例#1
0
        public ButtonDecorator(ViewHostComponent child, ButtonCollection buttonDefinitions, ButtonFactory buttonFactory = null)
            : base("Medical.GUI.AnomalousMvc.Decorators.ButtonDecorator.layout")
        {
            this.child = child;
            widget.setSize(child.Widget.Width, child.Widget.Height + BUTTON_AREA_HEIGHT);
            child.Widget.attachToWidget(widget);
            child.Widget.setPosition(0, BUTTON_AREA_HEIGHT);
            child.Widget.Align = Align.Stretch;

            widgetHeight = widget.Height;

            int buttonWidth = (widget.Width - BUTTON_PADDING) / buttonDefinitions.Count;

            currentX = BUTTON_PADDING;

            if (buttonFactory == null)
            {
                buttonFactory = this;
            }

            foreach (ButtonDefinitionBase buttonDef in buttonDefinitions)
            {
                buttonDef.createButton(buttonFactory, currentX, BUTTON_Y, buttonWidth - BUTTON_PADDING, BUTTON_HEIGHT);
            }
        }
示例#2
0
 protected MyGUIView(LoadInfo info)
     : base(info)
 {
     if (buttons == null)
     {
         buttons = new ButtonCollection();
     }
 }
示例#3
0
        public MDIDialogDecorator(MDILayoutManager targetLayoutManager, ViewHostComponent child, MyGUIView view)
            : base(view.Buttons.hasItem("Close") ? "Medical.GUI.AnomalousMvc.Decorators.MDIDialogDecoratorCSX.layout" : "Medical.GUI.AnomalousMvc.Decorators.MDIDialogDecoratorCS.layout")
        {
            this.MDIManager = targetLayoutManager;

            MDILayoutElementName mdiElementName = view.ElementName as MDILayoutElementName;

            if (mdiElementName != null)
            {
                this.AllowedDockLocations = mdiElementName.AllowedDockLocations;
            }

            ButtonCollection buttons = view.Buttons;

            if (buttons.Count > 0)
            {
                //Keep button decorator from being made if there is only one button and it is close
                if (buttons.Count == 1 && buttons.hasItem("Close"))
                {
                    buttons["Close"].createButton(this, 0, 0, 0, 0);
                }
                else
                {
                    child = new ButtonDecorator(child, buttons, this);
                }
            }

            fireCloseEvent = closeAction != null;

            window.Visible = true;
            window.Caption = view.DisplayTitle;

            IntCoord clientCoord      = window.ClientCoord;
            int      widthDifference  = window.Width - clientCoord.width;
            int      heightDifference = window.Height - clientCoord.height;

            Position   = new IntVector2(child.Widget.Left, child.Widget.Top);
            Size       = new IntSize2(child.Widget.Width + widthDifference, child.Widget.Height + heightDifference);
            dockedSize = Size;

            clientCoord = window.ClientCoord;
            this.child  = child;
            child.Widget.attachToWidget(window);
            child.Widget.setCoord(0, 0, clientCoord.width, clientCoord.height);
            child.Widget.Align = Align.Stretch;

            Resized += MDIDialogDecorator_Resized;
            Closing += MDIDialogDecorator_Closing;

            child.topLevelResized();
            window.Visible = false;
        }
        public FloatingPanelDecorator(ViewHostComponent child, ButtonCollection buttons, View view)
            : base(view.Transparent ? "Medical.GUI.AnomalousMvc.Decorators.SidePanelDecoratorTransparent.layout" : "Medical.GUI.AnomalousMvc.Decorators.SidePanelDecorator.layout")
        {
            if (buttons.Count > 0)
            {
                child = new ButtonDecorator(child, buttons);
            }

            this.child = child;
            widget.setSize(child.Widget.Right + int.Parse(widget.getUserString("ChildWidthOffset")), child.Widget.Bottom + int.Parse(widget.getUserString("ChildHeightOffset")));
            child.Widget.attachToWidget(widget);
            child.Widget.setPosition(int.Parse(widget.getUserString("ChildX")), int.Parse(widget.getUserString("ChildY")));
            child.Widget.Align = Align.HStretch | Align.VStretch;
        }
示例#5
0
        public TopBottomPanelDecorator(ViewHostComponent child, ButtonCollection buttons, bool transparent)
            : base(transparent ? "Medical.GUI.AnomalousMvc.Decorators.TopBottomPanelDecoratorTransparent.layout" : "Medical.GUI.AnomalousMvc.Decorators.TopBottomPanelDecorator.layout")
        {
            if (buttons.Count > 0)
            {
                child = new ButtonDecorator(child, buttons);
            }

            this.child = child;
            child.Widget.attachToWidget(widget);
            childPosition = new IntVector2(int.Parse(widget.getUserString("ChildX")), int.Parse(widget.getUserString("ChildY")));
            child.Widget.setPosition(childPosition.x, childPosition.y);
            childSizeOffset = new IntSize2(int.Parse(widget.getUserString("ChildWidthOffset")), int.Parse(widget.getUserString("ChildHeightOffset")));
            widget.setSize(child.Widget.Right - childSizeOffset.Width, child.Widget.Bottom - childSizeOffset.Height);
            child.Widget.Align = Align.HStretch | Align.VStretch;
        }
示例#6
0
        public WindowDecorator(ViewHostComponent child, ButtonCollection buttons, MyGUIView view)
        {
            if (buttons.Count > 0)
            {
                //Keep button decorator from being made if there is only one button and it is close
                if (buttons.Count == 1 && buttons.hasItem("Close"))
                {
                    buttons["Close"].createButton(this, 0, 0, 0, 0);
                }
                else
                {
                    child = new ButtonDecorator(child, buttons, this);
                }
            }

            if (closeAction != null)
            {
                window = (Window)Gui.Instance.createWidgetT("Window", "WindowCSX", 300, 150, 260, 440, Align.Default, "Overlapped", "");
                window.WindowButtonPressed += new MyGUIEvent(window_WindowButtonPressed);
            }
            else
            {
                window = (Window)Gui.Instance.createWidgetT("Window", "WindowCS", 300, 150, 260, 440, Align.Default, "Overlapped", "");
            }

            int widthDiffernce   = window.ClientCoord.width - window.Width;
            int heightDifference = window.ClientCoord.height - window.Height;

            window.setCoord(child.Widget.Left, child.Widget.Top, child.Widget.Width + widthDiffernce, child.Widget.Height + heightDifference);

            this.child = child;
            child.Widget.attachToWidget(window);
            IntCoord clientCoord = window.ClientCoord;

            child.Widget.setCoord(0, 0, clientCoord.width, clientCoord.height);
            child.Widget.Align = Align.Stretch;

            window.WindowChangedCoord += new MyGUIEvent(window_WindowChangedCoord);
            child.topLevelResized();

            window.Caption = view.DisplayTitle;
        }
示例#7
0
 public MyGUIView(String name)
     : base(name)
 {
     buttons = new ButtonCollection();
 }