コード例 #1
0
 void SizeAble_MousePressedEvent(AssortedWidgets.Events.MouseEvent me)
 {
     if (SizeAble.Check)
         Resizable = false;
     else
         Resizable = true;
 }
コード例 #2
0
 void dragAble_MousePressedEvent(AssortedWidgets.Events.MouseEvent me)
 {
     if (dragAble.Check)
         Dragable = false;
     else
         Dragable = true;
 }
コード例 #3
0
ファイル: Container.cs プロジェクト: RobertCL/MissionPlanner
        public override void OnMouseEnter(AssortedWidgets.Events.MouseEvent me)
        {
            isHover = true;
            int mx = me.X - Position.X;
            int my = me.Y - Position.Y;

            foreach (Component ele in childList)
            {
                if (ele.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(ele, (int)EMouseEventTypes.MOUSE_ENTERED,
                                                   mx,my, me.MouseButton);
                    ele.ProcessMouseEntered(ev);

                    break;
                }
            }
        }
コード例 #4
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
        public override void OnMouseRelease(AssortedWidgets.Events.MouseEvent me)
        {
            base.OnMouseRelease(me);

            Check = !Check;
        }
コード例 #5
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
 public override void OnMouseExit(AssortedWidgets.Events.MouseEvent me)
 {
     isHover = false;
     status = EButtonStatus.Normal;
 }   	
コード例 #6
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
 public override void OnMouseRelease(AssortedWidgets.Events.MouseEvent me)
 {
     status = EButtonStatus.Hover;
     Cursor.Current = Cursors.Hand;
 }
コード例 #7
0
 void closeButton_MouseReleasedEvent(AssortedWidgets.Events.MouseEvent me)
 {
     closeButton.isHover = false;
     closeButton.status = EButtonStatus.Normal;
     Close();
 }
コード例 #8
0
ファイル: Menus.cs プロジェクト: CraigElder/MissionPlanner
        public override void OnMouseExit(AssortedWidgets.Events.MouseEvent me)
        {
            //base.OnMouseExit(me);

            isHover = false;
            status = EStatus.Normal;
        }
コード例 #9
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
 public override void OnMouseEnter(AssortedWidgets.Events.MouseEvent me)
 {
     isHover = true;
     status = EButtonStatus.Hover;
     Cursor.Current = Cursors.Hand;
 }
コード例 #10
0
ファイル: Menus.cs プロジェクト: CraigElder/MissionPlanner
        public override void OnMousePress(AssortedWidgets.Events.MouseEvent me)
        {
            //base.OnMousePress(me);

            status = EStatus.Pressed;
        }
コード例 #11
0
        public override void UpdateLayout(List<AssortedWidgets.Widgets.Component> componentList, AssortedWidgets.Util.Position origin, AssortedWidgets.Util.Size area)
        {
            int iStyle1;
            int iStyle2;

            List<Component> north = new List<Component>(20);
            EElementStyle northHStyle = EElementStyle.Any;
            EElementStyle northVStyle = EElementStyle.Any;
            List<Component> south = new List<Component>(20);
            EElementStyle southHStyle = EElementStyle.Any;
            EElementStyle southVStyle = EElementStyle.Any;
            List<Component> west = new List<Component>(20);
            EElementStyle westHStyle = EElementStyle.Any;
            EElementStyle westVStyle = EElementStyle.Any;
            List<Component> east = new List<Component>(20);
            EElementStyle eastHStyle = EElementStyle.Any;
            EElementStyle eastVStyle = EElementStyle.Any;
            List<Component> center = new List<Component>(20);
            EElementStyle centerHStyle = EElementStyle.Any;
            EElementStyle centerVStyle = EElementStyle.Any;

            foreach (Component comp in componentList)
            {
                switch (comp.LayoutProperty)
                {
                    case EArea.North:
                        {
                            north.Add(comp);
                            iStyle1 = (int)northHStyle;
                            iStyle2 = (int)(((IElement)comp).HorizontalStyle);
                            northHStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            iStyle1 = (int)northVStyle;
                            iStyle2 = (int)(((IElement)comp).VerticalStyle);
                            northVStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            break;
                        }
                    case EArea.South:
                        {
                            south.Add(comp);
                            iStyle1 = (int)southHStyle;
                            iStyle2 = (int)(((IElement)comp).HorizontalStyle);
                            southHStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            iStyle1 = (int)southVStyle;
                            iStyle2 = (int)(((IElement)comp).VerticalStyle);
                            southVStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            break;
                        }
                    case EArea.West:
                        {
                            west.Add(comp);
                            iStyle1 = (int)westHStyle;
                            iStyle2 = (int)(((IElement)comp).HorizontalStyle);
                            westHStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            iStyle1 = (int)westVStyle;
                            iStyle2 = (int)(((IElement)comp).VerticalStyle);
                            westVStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            break;
                        }
                    case EArea.East:
                        {
                            east.Add(comp);
                            iStyle1 = (int)eastHStyle;
                            iStyle2 = (int)(((IElement)comp).HorizontalStyle);
                            eastHStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            iStyle1 = (int)eastVStyle;
                            iStyle2 = (int)(((IElement)comp).VerticalStyle);
                            eastVStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            break;
                        }
                    case EArea.Center:
                        {
                            center.Add(comp);
                            iStyle1 = (int)centerHStyle;
                            iStyle2 = (int)(((IElement)comp).HorizontalStyle);
                            centerHStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            iStyle1 = (int)centerVStyle;
                            iStyle2 = (int)(((IElement)comp).VerticalStyle);
                            centerVStyle = (EElementStyle)Math.Max(iStyle1, iStyle2);
                            break;
                        }
                }
            }
            uint width = area.width - Left - Right;
            uint height = area.height - Top - Bottom;

            int tempX = (int)(origin.X + Left);
            int tempY = (int)(origin.Y + Top);

            uint westHeight = GetPreferedHeight(west, WestFormat);
            uint centerHeight = GetPreferedHeight(center, CenterFormat);
            uint eastHeight = GetPreferedHeight(east, EastFormat);
            uint northHeight = GetPreferedHeight(north, NorthFormat);
            uint southHeight = GetPreferedHeight(south, SouthFormat);

            uint heightAvailable = area.height - Top - Bottom - Spacer - Spacer;
            heightAvailable = Math.Max(heightAvailable, Math.Max(Math.Max(westHeight, eastHeight), centerHeight) + northHeight + southHeight);
            int strechAreaCount = 1;

            if (northVStyle == EElementStyle.Stretch)
            {
                ++strechAreaCount;
            }
            else
            {
                heightAvailable -= northHeight;
            }

            if (southVStyle == EElementStyle.Stretch)
            {
                ++strechAreaCount;
            }
            else
            {
                heightAvailable -= southHeight;
            }

            uint averageHeight = (uint)(heightAvailable / strechAreaCount);

            if (northVStyle == EElementStyle.Stretch)
            {
                northHeight = Math.Max(northHeight, averageHeight);
            }
            if (southVStyle == EElementStyle.Stretch)
            {
                southHeight = Math.Max(southHeight, averageHeight);
            }

            westHeight = centerHeight = eastHeight = Math.Max(Math.Max(westHeight, eastHeight), Math.Max(centerHeight, averageHeight));

            uint northWidth = GetPreferedWidth(north, NorthFormat);
            uint southWidth = GetPreferedWidth(south, SouthFormat);
            uint eastWidth = GetPreferedWidth(east, EastFormat);
            uint westWidth = GetPreferedWidth(west, WestFormat);
            uint centerWidth = GetPreferedWidth(center, CenterFormat);

            uint widthAvailable = area.width - Left - Right;
            widthAvailable = Math.Max(widthAvailable, Math.Max(westWidth + eastWidth + centerWidth + Spacer + Spacer, Math.Max(northWidth, southWidth)));
            northWidth = southWidth = widthAvailable;
            widthAvailable -= Spacer + Spacer;

            strechAreaCount = 1;

            if (westHStyle == EElementStyle.Stretch)
            {
                ++strechAreaCount;
            }
            else
            {
                widthAvailable -= westWidth;
            }

            if (eastHStyle == EElementStyle.Stretch)
            {
                ++strechAreaCount;
            }
            else
            {
                widthAvailable -= eastWidth;
            }

            uint averageWidth = (uint)(widthAvailable / strechAreaCount);
            if (westHStyle == EElementStyle.Stretch)
            {
                westWidth = averageWidth;
            }
            if (eastHStyle == EElementStyle.Stretch)
            {
                eastWidth = averageWidth;
            }
            centerWidth = Math.Max(averageWidth, centerWidth);

            Position northPosition = new Position((int)(origin.X + Left), (int)(origin.Y + Top));
            Size northArea = new Size(northWidth, northHeight);

            OrderComponents(north, NorthHAlignment, NorthVAlignment, NorthFormat, northPosition, northArea);

            Position southPosition = new Position((int)(origin.X + Left), (int)(origin.Y + Top + Spacer + centerHeight + Spacer + northHeight));
            Size southArea = new Size(southWidth, southHeight);
            OrderComponents(south, SouthHAlignment, SouthVAlignment, SouthFormat, southPosition, southArea);

            Position westPosition = new Position((int)(origin.X + Left), (int)(origin.Y + Top + northHeight + Spacer));
            Size westArea = new Size(westWidth, westHeight);
            OrderComponents(west, WestHAlignment, WestVAlignment, WestFormat, westPosition, westArea);

            Position eastPosition = new Position((int)(origin.X + Left + westWidth + Spacer + centerWidth + Spacer), (int)(origin.Y + Top + northHeight + Spacer));
            Size eastArea = new Size(eastWidth, eastHeight);

            testNorthX = eastPosition.X;
            testNorthY = eastPosition.Y;
            testNorthWidth = eastArea.width;
            testNorthHeight = eastArea.height;

            OrderComponents(east, EastHAlignment, EastVAlignment, EastFormat, eastPosition, eastArea);

            Position centerPosition = new Position((int)(origin.X + Left + Spacer + westWidth), (int)(origin.Y + Spacer + northHeight + Top));
            Size centerArea = new Size(centerWidth, centerHeight);

            OrderComponents(center, CenterHAlignment, CenterVAlignment, CenterFormat, centerPosition, centerArea);
        }
コード例 #12
0
ファイル: GirdLayout.cs プロジェクト: RobertCL/MissionPlanner
        public override void UpdateLayout(List<Component> componentList, AssortedWidgets.Util.Position origin, AssortedWidgets.Util.Size area)
        {
            List<Component>.Enumerator clEnum = componentList.GetEnumerator();

            for (int i = 0; i < rowCount; ++i)
            {
                for (int e = 0; e < columnCount; ++e)
                {
                    if (clEnum.MoveNext())
                    {
                        alignment[i][e].component = clEnum.Current;
                        Size perfectSize = clEnum.Current.GetPreferedSize();
                        alignment[i][e].width = perfectSize.width;
                        alignment[i][e].height = perfectSize.height;
                        alignment[i][e].HStyle = ((IElement)clEnum.Current).HorizontalStyle;
                        alignment[i][e].VStyle = ((IElement)clEnum.Current).VerticalStyle;
                    }
                    else
                    {
                        alignment[i][e].component = null;
                        alignment[i][e].width = 0;
                        alignment[i][e].height = 0;
                        alignment[i][e].HStyle = EElementStyle.Fit;
                        alignment[i][e].VStyle = EElementStyle.Fit;
                    }
                }
            }
            OneLineInfo[] columnInfo = new OneLineInfo[columnCount];

            for (int e = 0; e < columnCount; ++e)
            {
                columnInfo[e].miniSize = 0;
                columnInfo[e].isStretch = false;
                for (int i = 0; i < rowCount; ++i)
                {
                    if (alignment[i][e].HStyle == EElementStyle.Stretch)
                    {
                        columnInfo[e].isStretch = true;
                    }
                    columnInfo[e].miniSize = Math.Max(columnInfo[e].miniSize, alignment[i][e].width);
                }
            }

            OneLineInfo[] rowInfo = new OneLineInfo[rowCount];

            for (int i = 0; i < rowCount; ++i)
            {
                rowInfo[i].miniSize = 0;
                rowInfo[i].isStretch = false;
                for (int e = 0; e < columnCount; ++e)
                {
                    if (alignment[i][e].VStyle == EElementStyle.Stretch)
                    {
                        rowInfo[i].isStretch = true;
                    }
                    rowInfo[i].miniSize = Math.Max(rowInfo[i].miniSize, alignment[i][e].height);
                }
            }

            int widthAvailable = (int)(area.width - (columnCount - 1) * Spacer - Left - Right);
            uint stretchSegment = 0;

            for (int e = 0; e < columnCount; ++e)
            {
                if (columnInfo[e].isStretch)
                {
                    ++stretchSegment;
                }
                else
                {
                    widthAvailable -= (int)columnInfo[e].miniSize;
                }
            }

            if (widthAvailable > 0)
            {
                if (stretchSegment > 0)
                {
                    uint averageWidth = (uint)widthAvailable / stretchSegment;

                    for (int e = 0; e < columnCount; ++e)
                    {
                        if (columnInfo[e].isStretch)
                        {
                            columnInfo[e].miniSize = Math.Max(columnInfo[e].miniSize, averageWidth);
                        }
                    }
                }
                else
                {
                    uint averageAppend = (uint)widthAvailable / columnCount;

                    for (int e = 0; e < columnCount; ++e)
                    {
                        columnInfo[e].miniSize += averageAppend;
                    }
                }
            }

            int heightAvailable = (int)(area.height - Top - Bottom - (rowCount - 1) * Spacer);
            stretchSegment = 0;

            for (int i = 0; i < rowCount; ++i)
            {
                if (rowInfo[i].isStretch)
                {
                    ++stretchSegment;
                }
                else
                {
                    heightAvailable -= (int)rowInfo[i].miniSize;
                }
            }

            if (heightAvailable > 0)
            {
                if (stretchSegment > 0)
                {
                    uint averageHeight = (uint)heightAvailable / stretchSegment;

                    for (int i = 0; i < rowCount; ++i)
                    {
                        if (rowInfo[i].isStretch)
                        {
                            rowInfo[i].miniSize = Math.Max(rowInfo[i].miniSize, averageHeight);
                        }
                    }
                }
                else
                {
                    uint averageAppend = (uint)heightAvailable / rowCount;
                    for (int i = 0; i < rowCount; ++i)
                    {
                        rowInfo[i].miniSize += averageAppend;
                    }
                }
            }

            int tempX = (int)Left + origin.X;
            int tempY = (int)Top + origin.Y;

            for (int i = 0; i < rowCount; ++i)
            {
                for (int e = 0; e < columnCount; ++e)
                {
                    Position CPosition = new Position(tempX, tempY);
                    Size Carea = new Size(columnInfo[e].miniSize, rowInfo[i].miniSize);
                    OrderComponent((uint)i, (uint)e, CPosition, Carea);
                    tempX += (int)(columnInfo[e].miniSize + Spacer);
                }
                tempX = (int)Left + origin.X;
                tempY += (int)(Spacer + rowInfo[i].miniSize);
            }
        }
コード例 #13
0
        public override void OnMouseEnter(AssortedWidgets.Events.MouseEvent me)
        {
            isHover = true;
            int mx = me.X - Position.X;
            int my = me.Y - Position.Y;

            if (button.IsIn(mx, my))
            {
                MouseEvent ev = new MouseEvent(button, (int)EMouseEventTypes.MOUSE_ENTERED, mx, my, me.MouseButton);
                button.ProcessMouseEntered(ev);
                return;
            }
        }
コード例 #14
0
ファイル: MainV3.cs プロジェクト: ecodrones/MissionPlanner
 void menuItemFileExit_MousePressedEvent(AssortedWidgets.Events.MouseEvent me)
 {
     Close();
 }
コード例 #15
0
ファイル: sliders.cs プロジェクト: RobertCL/MissionPlanner
        public override void OnMousePress(AssortedWidgets.Events.MouseEvent me)
        {
            int mx = me.X - Position.X;
            int my = me.Y - Position.Y;

            if (Slider_.IsIn(mx, my))
            {
                MouseEvent ev = new MouseEvent(Slider_, (int)EMouseEventTypes.MOUSE_PRESSED,
                                               mx, my, me.MouseButton);
                Slider_.ProcessMousePressed(ev);
                return;
            }
        }
コード例 #16
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
        public override void OnMouseRelease(AssortedWidgets.Events.MouseEvent me)
        {
            base.OnMouseRelease(me);

            if (Check == false)
                rg.Checked = this;
        }
コード例 #17
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
 public override void OnMousePress(AssortedWidgets.Events.MouseEvent me)
 {
     status = EButtonStatus.Pressed;
     Cursor.Current = Cursors.Hand;
 }
コード例 #18
0
ファイル: Menus.cs プロジェクト: CraigElder/MissionPlanner
        public override void OnMouseEnter(AssortedWidgets.Events.MouseEvent me)
        {
            //base.OnMouseEnter(me);

            isHover = true;
            status = EStatus.Hover;
        }
コード例 #19
0
ファイル: buttons.cs プロジェクト: White-Wolf/Minesharp
 public override void OnMouseMove(AssortedWidgets.Events.MouseEvent me)
 {
     Cursor.Current = Cursors.Hand;
 }
コード例 #20
0
ファイル: Menus.cs プロジェクト: CraigElder/MissionPlanner
        public override void OnMouseRelease(AssortedWidgets.Events.MouseEvent me)
        {
            //base.OnMouseRelease(me);

            status = EStatus.Normal;
            MenuBar.Instance.SetShrink();
        }