Пример #1
0
 /// <summary>
 /// 初始化
 /// </summary>
 protected virtual void Init()
 {
     this.titleContent = new GUIContent(Title);
     this.position     = ContextRect;
     this.minSize      = this.maxSize = ContextRect.size;
     UIStyles.Init();
     CustomInit();
 }
Пример #2
0
        public FMain()
        {
            InitializeComponent();

            int pageIndex = 1000;

            Header.SetNodePageIndex(Header.Nodes[0], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[0], 61451);
            TreeNode parent = Aside.CreateNode("Controls", 61451, 24, pageIndex);

            //通过设置PageIndex关联
            Aside.CreateChildNode(parent, 61640, 24, AddPage(new FButton(), ++pageIndex));
            Aside.CreateChildNode(parent, 61490, 24, AddPage(new FLabel(), ++pageIndex));
            Aside.CreateChildNode(parent, 61770, 24, AddPage(new FCheckBox(), ++pageIndex));
            Aside.CreateChildNode(parent, 61842, 24, AddPage(new FRadioButton(), ++pageIndex));
            Aside.CreateChildNode(parent, 61962, 24, AddPage(new FTextBox(), ++pageIndex));
            Aside.CreateChildNode(parent, 61776, 24, AddPage(new FCombobox(), ++pageIndex));
            Aside.CreateChildNode(parent, 61646, 24, AddPage(new FDataGridView(), ++pageIndex));
            Aside.CreateChildNode(parent, 61474, 24, AddPage(new FListBox(), ++pageIndex));
            Aside.CreateChildNode(parent, 61499, 24, AddPage(new FTreeView(), ++pageIndex));
            Aside.CreateChildNode(parent, 61912, 24, AddPage(new FNavigation(), ++pageIndex));
            Aside.CreateChildNode(parent, 61716, 24, AddPage(new FTabControl(), ++pageIndex));
            Aside.CreateChildNode(parent, 61544, 24, AddPage(new FLine(), ++pageIndex));
            Aside.CreateChildNode(parent, 61590, 24, AddPage(new FPanel(), ++pageIndex));
            Aside.CreateChildNode(parent, 61516, 24, AddPage(new FTransfer(), ++pageIndex));
            Aside.CreateChildNode(parent, 61447, 24, AddPage(new FAvatar(), ++pageIndex));
            Aside.CreateChildNode(parent, 62104, 24, AddPage(new FContextMenuStrip(), ++pageIndex));
            Aside.CreateChildNode(parent, 61668, 24, AddPage(new FMeter(), ++pageIndex));
            Aside.CreateChildNode(parent, 62173, 24, AddPage(new FOther(), ++pageIndex));
            Aside.SetNodeTipsText(parent.Nodes[0], "1");

            pageIndex = 2000;
            Header.SetNodePageIndex(Header.Nodes[1], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[1], 61818);
            parent = Aside.CreateNode("Forms", 61818, 24, pageIndex);
            //通过设置GUID关联
            Aside.CreateChildNode(parent, 62160, 24, AddPage(new FDialogs(), Guid.NewGuid()));
            Aside.CreateChildNode(parent, 61508, 24, AddPage(new FEditor(), Guid.NewGuid()));
            Aside.CreateChildNode(parent, 61674, 24, AddPage(new FFrames(), Guid.NewGuid()));

            pageIndex = 3000;
            Header.SetNodePageIndex(Header.Nodes[2], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[2], 61950);
            parent = Aside.CreateNode("Charts", 61950, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, 61952, 24, AddPage(new FPieChart()));
            Aside.CreateChildNode(parent, 61568, 24, AddPage(new FBarChart()));

            Header.SetNodeSymbol(Header.Nodes[3], 61502);
            var styles = UIStyles.PopularStyles();

            foreach (UIStyle style in styles)
            {
                Header.CreateChildNode(Header.Nodes[3], style.DisplayText(), style.Value());
            }

            Aside.SelectFirst();
        }
Пример #3
0
        public static void SetCH()
        {
            UILocalize.InfoTitle               = "提示";
            UILocalize.SuccessTitle            = "正确";
            UILocalize.WarningTitle            = "警告";
            UILocalize.ErrorTitle              = "错误";
            UILocalize.AskTitle                = "提示";
            UILocalize.InputTitle              = "输入";
            UILocalize.SelectTitle             = "选择";
            UILocalize.CloseAll                = "全部关闭";
            UILocalize.OK                      = "确定";
            UILocalize.Cancel                  = "取消";
            UILocalize.GridNoData              = "[ 无数据 ]";
            UILocalize.GridDataLoading         = "数据加载中,请稍候...";
            UILocalize.GridDataSourceException = "数据源必须为DataTable或者List";
            UILocalize.SystemProcessing        = "系统正在处理中,请稍候...";

            UILocalize.Monday    = "一";
            UILocalize.Tuesday   = "二";
            UILocalize.Wednesday = "三";
            UILocalize.Thursday  = "四";
            UILocalize.Friday    = "五";
            UILocalize.Saturday  = "六";
            UILocalize.Sunday    = "日";

            UILocalize.Prev = "上一页";
            UILocalize.Next = "下一页";

            UILocalize.SelectPageLeft  = "第";
            UILocalize.SelectPageRight = "页";

            UILocalize.January   = "一月";
            UILocalize.February  = "二月";
            UILocalize.March     = "三月";
            UILocalize.April     = "四月";
            UILocalize.May       = "五月";
            UILocalize.June      = "六月";
            UILocalize.July      = "七月";
            UILocalize.August    = "八月";
            UILocalize.September = "九月";
            UILocalize.October   = "十月";
            UILocalize.November  = "十一月";
            UILocalize.December  = "十二月";

            UILocalize.Today = "今天";

            UIStyles.Translate();
        }
Пример #4
0
        public FContextMenuStrip()
        {
            InitializeComponent();

            var styles = UIStyles.PopularStyles();

            foreach (UIStyle style in styles)
            {
                ToolStripMenuItem item = new ToolStripMenuItem(style.DisplayText())
                {
                    Tag = style
                };
                item.Click += Item_Click;
                uiContextMenuStrip1.Items.Add(item);
            }
        }
Пример #5
0
        public static void SetEN()
        {
            UILocalize.InfoTitle               = "Info";
            UILocalize.SuccessTitle            = "Success";
            UILocalize.WarningTitle            = "Warning";
            UILocalize.ErrorTitle              = "Error";
            UILocalize.AskTitle                = "Query";
            UILocalize.InputTitle              = "Input";
            UILocalize.SelectTitle             = "Select";
            UILocalize.CloseAll                = "Close all";
            UILocalize.OK                      = "OK";
            UILocalize.Cancel                  = "Cancel";
            UILocalize.GridNoData              = "[ No data ]";
            UILocalize.GridDataLoading         = "Data loading, please wait...";
            UILocalize.GridDataSourceException = "The data source must be DataTable or List";
            UILocalize.SystemProcessing        = "The system is processing, please wait...";

            UILocalize.Monday    = "Mon.";
            UILocalize.Tuesday   = "Tue.";
            UILocalize.Wednesday = "Wed.";
            UILocalize.Thursday  = "Thur.";
            UILocalize.Friday    = "Fri.";
            UILocalize.Saturday  = "Sat.";
            UILocalize.Sunday    = "Sun.";

            UILocalize.Prev            = "Previous";
            UILocalize.Next            = "Next";
            UILocalize.SelectPageLeft  = "Page";
            UILocalize.SelectPageRight = "";

            UILocalize.January   = "Jan.";
            UILocalize.February  = "Feb.";
            UILocalize.March     = "Mar.";
            UILocalize.April     = "Apr.";
            UILocalize.May       = "May";
            UILocalize.June      = "Jun.";
            UILocalize.July      = "Jul.";
            UILocalize.August    = "Aug.";
            UILocalize.September = "Sep.";
            UILocalize.October   = "Oct.";
            UILocalize.November  = "Nov.";
            UILocalize.December  = "Dec.";

            UILocalize.Today = "Today";

            UIStyles.Translate();
        }
Пример #6
0
        public FMain()
        {
            InitializeComponent();

            int pageIndex = 1000;

            Header.SetNodePageIndex(Header.Nodes[0], pageIndex);
            TreeNode parent = Aside.CreateNode("Controls", pageIndex);

            Aside.CreateChildNode(parent, AddPage(new FButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FLabel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FCheckBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FRadioButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTextBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FDataGridView(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FListBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTreeView(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FNavigation(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTabControl(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FLine(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FPanel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTransfer(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FAvatar(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FContextMenuStrip(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FMeter(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FOther(), ++pageIndex));

            pageIndex = 2000;
            Header.SetNodePageIndex(Header.Nodes[1], pageIndex);
            parent = Aside.CreateNode("Forms", pageIndex);
            Aside.CreateChildNode(parent, AddPage(new FDialogs(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FEditor(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FFrames(), ++pageIndex));

            var styles = UIStyles.PopularStyles();

            foreach (UIStyle style in styles)
            {
                Header.CreateChildNode(Header.Nodes[2], style.DisplayText(), style.Value());
            }

            Aside.SelectFirst();
        }
 public override void OnGUI()
 {
     if (!m_picking)
     {
         if (GUILayout.Button("Choose Allowed Weapon-Types", GUILayout.Width(200)))
         {
             m_picking = true;
         }
     }
     else
     {
         if (GUILayout.Button("< Back", GUILayout.Width(100)))
         {
             m_picking = false;
         }
         else
         {
             base.OnGUI();
             UIStyles.HorizontalLine(Color.grey);
         }
     }
 }
Пример #8
0
        public FMain()
        {
            InitializeComponent();
            int pageIndex = 1000;

            Header.SetNodePageIndex(Header.Nodes[0], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[0], 61451);
            TreeNode parent = Aside.CreateNode("控件", 61451, 24, pageIndex);

            //通过设置PageIndex关联,节点文字、图标由相应的Page的Text、Symbol提供
            Aside.CreateChildNode(parent, AddPage(new FButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FHeaderButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FLabel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FCheckBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FRadioButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTextBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FCombobox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FDataGridView(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FListBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTreeView(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FNavigation(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTabControl(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FLine(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FPanel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FFlowLayoutPanel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTransfer(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FAvatar(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FContextMenuStrip(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FProcess(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FScrollBar(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FOther(), ++pageIndex));
            //示例设置某个节点的小红点提示
            Aside.ShowTips = true;
            Aside.SetNodeTipsText(parent.Nodes[0], "6");

            pageIndex = 2000;
            Header.SetNodePageIndex(Header.Nodes[1], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[1], 61818);
            parent = Aside.CreateNode("窗体", 61818, 24, pageIndex);
            //通过设置GUID关联,节点字体图标和大小由UIPage设置
            Aside.CreateChildNode(parent, AddPage(new FDialogs(), Guid.NewGuid()));
            Aside.CreateChildNode(parent, AddPage(new FEditor(), Guid.NewGuid()));
            Aside.CreateChildNode(parent, AddPage(new FFrames(), Guid.NewGuid()));

            pageIndex = 3000;
            Header.SetNodePageIndex(Header.Nodes[2], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[2], 61950);
            parent = Aside.CreateNode("图表", 61950, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(new FPieChart()));
            Aside.CreateChildNode(parent, AddPage(new FDoughnutChart()));
            Aside.CreateChildNode(parent, AddPage(new FBarChart()));
            Aside.CreateChildNode(parent, AddPage(new FLineChart()));

            pageIndex = 4000;
            Header.SetNodePageIndex(Header.Nodes[3], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[3], 362614);
            parent = Aside.CreateNode("工控", 362614, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(new FPipe()));
            Aside.CreateChildNode(parent, AddPage(new FMeter()));
            Aside.CreateChildNode(parent, AddPage(new FLed()));
            Aside.CreateChildNode(parent, AddPage(new FLight()));

            Header.SetNodeSymbol(Header.Nodes[4], 61502);
            var styles = UIStyles.PopularStyles();

            foreach (UIStyle style in styles)
            {
                Header.CreateChildNode(Header.Nodes[4], style.DisplayText(), style.Value());
            }

            Header.CreateChildNode(Header.Nodes[4], "多彩主题", UIStyle.Colorful.Value());
            //直接增加一个页面,不在左侧列表显示
            AddPage(new FColorful());

            //选中第一个节点
            Aside.SelectFirst();
        }
Пример #9
0
 private void uiPanel11_Click(object sender, System.EventArgs e)
 {
     uiPanel11.FillColor = uiPanel11.RectColor = RandomColor.GetColor(ColorScheme.Random, Luminosity.Bright);
     uiLabel2.Text       = "RGB: " + uiPanel11.FillColor.R + ", " + uiPanel11.FillColor.G + ", " + uiPanel11.FillColor.B;
     UIStyles.InitColorful(uiPanel11.FillColor, Color.White);
 }
Пример #10
0
        private void uiPanel1_Click(object sender, System.EventArgs e)
        {
            var panel = (UIPanel)sender;

            UIStyles.InitColorful(panel.FillColor, Color.White);
        }
Пример #11
0
        public FMain()
        {
            InitializeComponent();
            int pageIndex = 1000;

            Header.SetNodePageIndex(Header.Nodes[0], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[0], 61451);
            TreeNode parent = Aside.CreateNode("控件", 61451, 24, pageIndex);

            //通过设置PageIndex关联,节点文字、图标由相应的Page的Text、Symbol提供
            Aside.CreateChildNode(parent, AddPage(new FAvatar(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FCheckBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FCombobox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FContextMenuStrip(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FDataGridView(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FFlowLayoutPanel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FHeaderButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FLabel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FLine(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FListBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FNavigation(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FPanel(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FProcess(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FRadioButton(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FScrollBar(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FSplitContainer(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTabControl(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTextBox(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTransfer(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FTreeView(), ++pageIndex));
            Aside.CreateChildNode(parent, AddPage(new FOther(), ++pageIndex));
            //示例设置某个节点的小红点提示
            Aside.ShowTips = true;
            Aside.SetNodeTipsText(Aside.Nodes[0], "6", Color.Red, Color.White);
            Aside.SetNodeTipsText(parent.Nodes[1], " ", Color.Lime, Color.White);

            pageIndex = 2000;
            Header.SetNodePageIndex(Header.Nodes[1], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[1], 61818);
            parent = Aside.CreateNode("窗体", 61818, 24, pageIndex);
            //通过设置GUID关联,节点字体图标和大小由UIPage设置
            Aside.CreateChildNode(parent, AddPage(new FDialogs(), Guid.NewGuid()));
            Aside.CreateChildNode(parent, AddPage(new FEditor(), Guid.NewGuid()));
            Aside.CreateChildNode(parent, AddPage(new FFrames(), Guid.NewGuid()));

            pageIndex = 3000;
            Header.SetNodePageIndex(Header.Nodes[2], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[2], 61950);
            parent = Aside.CreateNode("图表", 61950, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(new FBarChart()));
            Aside.CreateChildNode(parent, AddPage(new FDoughnutChart()));
            Aside.CreateChildNode(parent, AddPage(new FLineChart()));
            Aside.CreateChildNode(parent, AddPage(new FPieChart()));

            pageIndex = 4000;
            Header.SetNodePageIndex(Header.Nodes[3], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[3], 362614);
            parent = Aside.CreateNode("工控", 362614, 24, pageIndex);
            //直接关联(默认自动生成GUID)

            Aside.CreateChildNode(parent, AddPage(CreateInstance <UIPage>("Sunny.UI.Demo.FPipe")));
            Aside.CreateChildNode(parent, AddPage(CreateInstance <UIPage>("Sunny.UI.Demo.FMeter")));
            Aside.CreateChildNode(parent, AddPage(CreateInstance <UIPage>("Sunny.UI.Demo.FLed")));
            Aside.CreateChildNode(parent, AddPage(CreateInstance <UIPage>("Sunny.UI.Demo.FLight")));

            Header.SetNodeSymbol(Header.Nodes[4], 61502);
            var styles = UIStyles.PopularStyles();

            foreach (UIStyle style in styles)
            {
                Header.CreateChildNode(Header.Nodes[4], style.DisplayText(), style.Value());
            }

            Header.CreateChildNode(Header.Nodes[4], "多彩主题", UIStyle.Colorful.Value());
            //直接增加一个页面,不在左侧列表显示
            AddPage(new FColorful());
            AddPage(new FCommon());

            //选中第一个节点
            Aside.SelectPage(1002);

            Text = Version;
            RegisterHotKey(UI.ModifierKeys.Shift, Keys.F8);

            //根据页面类型获取页面
            FButton page = GetPage <FButton>();

            if (page != null)
            {
                page.Text.WriteConsole();
            }

            //根据页面索引获取页面
            UIPage page1 = GetPage(1002);

            if (page1 != null)
            {
                page1.Text.WriteConsole();
            }
        }
Пример #12
0
 private void Awake()
 {
     Instance = this;
 }
Пример #13
0
        // =========== GUI DRAW =========== //

        public override void WindowFunction(int windowID)
        {
            try
            {
                // ====== HEADER ======

                var rect = WindowManager.TabView ? TabViewWindow.Instance.m_rect : this.m_rect;

                if (!WindowManager.TabView)
                {
                    Header();
                    GUIUnstrip.BeginArea(new Rect(5, 25, rect.width - 10, rect.height - 35), GUI.skin.box);
                }

                var asInstance = this as InstanceInspector;

                GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]);
                var labelWidth = (asInstance != null && asInstance.m_uObj)
                    ? new GUILayoutOption[] { GUILayout.Width(245f) }
                    : new GUILayoutOption[0];
                GUILayout.Label("<b>Type:</b> <color=cyan>" + TargetType.FullName + "</color>", labelWidth);

                if (asInstance != null)
                {
                    asInstance.DrawInstanceControls(rect);
                }
                else
                {
                    GUILayout.EndHorizontal();
                }

                UIStyles.HorizontalLine(Color.grey);

                GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Label("<b>Search:</b>", new GUILayoutOption[] { GUILayout.Width(75) });
                m_search = GUIUnstrip.TextField(m_search, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();

                GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Label("<b>Filter:</b>", new GUILayoutOption[] { GUILayout.Width(75) });
                FilterTypeToggle(MemberTypes.All, "All");
                FilterTypeToggle(MemberTypes.Property, "Properties");
                FilterTypeToggle(MemberTypes.Field, "Fields");
                FilterTypeToggle(MemberTypes.Method, "Methods");
                GUILayout.EndHorizontal();

                if (this is InstanceInspector)
                {
                    GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]);
                    GUILayout.Label("<b>Scope:</b>", new GUILayoutOption[] { GUILayout.Width(75) });
                    FilterScopeToggle(MemberScopes.Both, "Both");
                    FilterScopeToggle(MemberScopes.Instance, "Instance");
                    FilterScopeToggle(MemberScopes.Static, "Static");
                    GUILayout.EndHorizontal();
                }

                GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Label("<b>Values:</b>", new GUILayoutOption[] { GUILayout.Width(75) });
                if (GUILayout.Button("Update", new GUILayoutOption[] { GUILayout.Width(100) }))
                {
                    UpdateValues();
                }
                GUI.color              = m_autoUpdate ? Color.green : Color.red;
                m_autoUpdate           = GUILayout.Toggle(m_autoUpdate, "Auto-update?", new GUILayoutOption[] { GUILayout.Width(100) });
                GUI.color              = m_hideFailedReflection ? Color.green : Color.red;
                m_hideFailedReflection = GUILayout.Toggle(m_hideFailedReflection, "Hide failed Reflection?", new GUILayoutOption[] { GUILayout.Width(150) });
                GUI.color              = Color.white;
                GUILayout.EndHorizontal();

                GUIUnstrip.Space(10);

                Pages.ItemCount = m_cachedMembersFiltered.Length;

                // prev/next page buttons
                GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]);

                Pages.DrawLimitInputArea();

                if (Pages.ItemCount > Pages.ItemsPerPage)
                {
                    if (GUILayout.Button("< Prev", new GUILayoutOption[] { GUILayout.Width(80) }))
                    {
                        Pages.TurnPage(Turn.Left, ref this.scroll);
                    }

                    Pages.CurrentPageLabel();

                    if (GUILayout.Button("Next >", new GUILayoutOption[] { GUILayout.Width(80) }))
                    {
                        Pages.TurnPage(Turn.Right, ref this.scroll);
                    }
                }
                GUILayout.EndHorizontal();

                // ====== BODY ======

                scroll = GUIUnstrip.BeginScrollView(scroll);

                GUIUnstrip.Space(10);

                UIStyles.HorizontalLine(Color.grey);

                GUIUnstrip.BeginVertical(GUIContent.none, GUI.skin.box, null);

                var members = this.m_cachedMembersFiltered;
                int start   = Pages.CalculateOffsetIndex();

                for (int j = start; (j < start + Pages.ItemsPerPage && j < members.Length); j++)
                {
                    var holder = members[j];

                    GUIUnstrip.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(25) });
                    try
                    {
                        holder.Draw(rect, 180f);
                    }
                    catch
                    {
                        GUILayout.EndHorizontal();
                        continue;
                    }
                    GUILayout.EndHorizontal();

                    // if not last element
                    if (!(j == (start + Pages.ItemsPerPage - 1) || j == (members.Length - 1)))
                    {
                        UIStyles.HorizontalLine(new Color(0.07f, 0.07f, 0.07f), true);
                    }
                }

                GUILayout.EndVertical();
                GUIUnstrip.EndScrollView();

                if (!WindowManager.TabView)
                {
                    m_rect = ResizeDrag.ResizeWindow(rect, windowID);

                    GUIUnstrip.EndArea();
                }
            }
            catch (Exception e) when(e.Message.Contains("in a group with only"))
            {
                // suppress
            }
            catch (Exception e)
            {
                ExplorerCore.LogWarning("Exception drawing ReflectionWindow: " + e.GetType() + ", " + e.Message);
                DestroyWindow();
                return;
            }
        }
Пример #14
0
        public void AddAside()
        {
            int pageIndex = 1000;

            Header.SetNodePageIndex(Header.Nodes[0], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[0], 61451);
            TreeNode parent = Aside.CreateNode("基础数据", 61451, 24, pageIndex);

            //通过设置PageIndex关联
            Aside.CreateChildNode(parent, 61842, 24, AddPage(m_ModuleGeneralData.GetModuleUI, ++pageIndex));
            Aside.SetNodeTipsText(parent.Nodes[0], "1");

            pageIndex = 2000;
            Header.SetNodePageIndex(Header.Nodes[1], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[1], 61818);
            parent = Aside.CreateNode("报名报项", 61818, 24, pageIndex);
            //通过设置GUID关联,节点字体图标和大小由UIPage设置
            Aside.CreateChildNode(parent, AddPage(m_ModuleRegister.GetModuleUI));

            pageIndex = 3000;
            Header.SetNodePageIndex(Header.Nodes[2], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[2], 61950);
            parent = Aside.CreateNode("抽签编排", 61950, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(m_ModuleDrawArrange.GetModuleUI));


            pageIndex = 4000;
            Header.SetNodePageIndex(Header.Nodes[3], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[3], 62082);
            parent = Aside.CreateNode("比赛安排", 62082, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(m_ModuleMatchSchedule.GetModuleUI));


            pageIndex = 5000;
            Header.SetNodePageIndex(Header.Nodes[4], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[4], 61962);
            parent = Aside.CreateNode("赛时数据", 61962, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(m_ModulePluginMgr.GetModuleUI));


            pageIndex = 6000;
            Header.SetNodePageIndex(Header.Nodes[5], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[5], 61776);
            parent = Aside.CreateNode("报表管理", 61776, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            //Aside.CreateChildNode(parent, AddPage(new OVRReportPrintingForm()));

            pageIndex = 7000;
            Header.SetNodePageIndex(Header.Nodes[6], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[6], 61646);
            parent = Aside.CreateNode("排名奖牌", 61646, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(m_ModuleRankMedal.GetModuleUI));

            pageIndex = 8000;
            Header.SetNodePageIndex(Header.Nodes[7], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[7], 61499);
            parent = Aside.CreateNode("数据库备份", 61499, 24, pageIndex);
            //直接关联(默认自动生成GUID)

            pageIndex = 9000;
            Header.SetNodePageIndex(Header.Nodes[8], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[8], 61516);
            parent = Aside.CreateNode("官方公告", 61516, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(frmOfficialCommunication));


            pageIndex = 10000;
            Header.SetNodePageIndex(Header.Nodes[9], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[9], 61668);
            parent = Aside.CreateNode("网络功能", 61668, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(new OVRNetworkManagerForm()));

            pageIndex = 11000;
            Header.SetNodePageIndex(Header.Nodes[10], pageIndex);
            Header.SetNodeSymbol(Header.Nodes[10], 62104);
            parent = Aside.CreateNode("赛事纪录", 62104, 24, pageIndex);
            //直接关联(默认自动生成GUID)
            Aside.CreateChildNode(parent, AddPage(m_ModuleRecord.GetModuleUI));


            Header.SetNodeSymbol(Header.Nodes[11], 61502);
            var styles = UIStyles.PopularStyles();

            foreach (UIStyle style in styles)
            {
                Header.CreateChildNode(Header.Nodes[11], style.DisplayText(), style.Value());
            }
            Aside.SelectFirst();
        }
Пример #15
0
        /// <summary>
        /// 初始化
        /// </summary>
        public void InitPdone()
        {
            //获取用户配置数据
            _Setting = GetUserData();
            //adb路径
            ADB.ADBPath = $@"{ScrcpyPath}";
            //增加adb执行文件系统变量
            ADB.AddEnvironmentPath(ScrcpyPath);
            //提取资源
            ExtractResource();

            #region 事件绑定
            //退出时保存用户配置数据
            Application.ApplicationExit += (sender, e) =>
            {
                SetUserData(_Setting);
                ADB.Execute("kill-server");
            };
            FormClosed += (sender, e) => Application.Exit();
            //窗口拖动
            MouseDown            += (sender, e) => DragWindow();
            ledTitle.MouseDown   += (sender, e) => DragWindow();
            tabHome.MouseDown    += (sender, e) => DragWindow();
            tabSetting.MouseDown += (sender, e) => DragWindow();
            //关闭按钮和最小化按钮
            btnClose.Click += (sender, e) => Close();
            btnMini.Click  += (sender, e) => WindowState = FormWindowState.Minimized;
            //启动按钮
            btnStart.Click += StartButtonClick;
            //深色模式切换
            switchDarkMode.ValueChanged += SwitchDarkMode_ValueChanged;
            //窗口大小设置
            updownHeight.ValueChanged  += (sender, e) => _Setting.WindowHeight = updownHeight.Value;
            updownWidth.ValueChanged   += (sender, e) => _Setting.WindowWidth = updownWidth.Value;
            rbtnShortcuts.ValueChanged += RbtnShortcuts_ValueChanged;
            //下拉框
            comboPx.SelectedValueChanged     += ComboPx_SelectedValueChanged;
            comboMbps.SelectedValueChanged   += ComboMbps_SelectedValueChanged;
            comboMaxFPS.SelectedValueChanged += ComboMaxFPS_SelectedValueChanged;
            //文本框
            tbxAddress.TextChanged += TbxAddress_TextChanged;
            tbxPort.TextChanged    += TbxPort_TextChanged;
            //CheckBox
            cbxUseWireless.ValueChanged       += CbxUseWireless_ValueChanged;
            cbxUseLog.ValueChanged            += CbxUseLog_ValueChanged;
            cbxControllerEnabled.ValueChanged += CbxControllerEnabled_ValueChanged;
            cbxCloseScreen.ValueChanged       += CommonCbx_ValueChanged;
            cbxKeepAwake.ValueChanged         += CommonCbx_ValueChanged;
            cbxAllFPS.ValueChanged            += CommonCbx_ValueChanged;
            cbxHideBorder.ValueChanged        += CommonCbx_ValueChanged;
            cbxFullScreen.ValueChanged        += CommonCbx_ValueChanged;
            cbxTopMost.ValueChanged           += CommonCbx_ValueChanged;
            cbxShowTouches.ValueChanged       += CommonCbx_ValueChanged;
            cbxReadOnly.ValueChanged          += CommonCbx_ValueChanged;
            #endregion

            #region 设置标题和图标
            Assembly        asm = Assembly.GetExecutingAssembly();
            FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location);
            Text               = $"Free Control v{fvi.ProductVersion}";
            lbTitle.Visible    = false;
            lbTitle.Text       = Text;
            lbTitle.ForeColor  = Color.FromArgb(250, 240, 230);
            ledTitle.Text      = Text;
            ledTitle.CharCount = 19;
            Icon               = Properties.Resources.pcm;
            #endregion

            #region 设置主题颜色
            UIStyles.SetStyle(UIStyle.Gray);
            //设置默认导航条颜色
            navTab.TabSelectedForeColor = Color.FromArgb(140, 140, 140);
            navTab.TabSelectedHighColor = Color.FromArgb(140, 140, 140);
            //设置默认导航条图标
            tabHome.ImageIndex    = 0;
            tabSetting.ImageIndex = 2;
            #endregion

            #region 切换tab事件
            //navTab.SelectTab(0);
            #endregion

            #region 配置项默认值
            comboPx.SelectedIndex       = _Setting.PXIndex;
            comboMbps.SelectedIndex     = _Setting.BitRateIndex;
            comboMaxFPS.SelectedIndex   = _Setting.MaxFPSIndex;
            rbtnShortcuts.SelectedIndex = _Setting.ShortcutsIndex;
            switchDarkMode.Active       = _Setting.DarkMode;
            tbxAddress.Text             = _Setting.IPAddress;
            tbxPort.Text                 = _Setting.Port;
            updownHeight.Value           = _Setting.WindowHeight;
            updownWidth.Value            = _Setting.WindowWidth;
            Logger.enable                = _Setting.UseLog;
            cbxUseWireless.Checked       = _Setting.UseWireless;
            cbxUseLog.Checked            = _Setting.UseLog;
            cbxControllerEnabled.Checked = _Setting.ControllerEnabled;
            cbxCloseScreen.Checked       = _Setting.CloseScreen;
            cbxKeepAwake.Checked         = _Setting.KeepAwake;
            cbxAllFPS.Checked            = _Setting.AllFPS;
            cbxHideBorder.Checked        = _Setting.HideBorder;
            cbxFullScreen.Checked        = _Setting.FullScreen;
            cbxTopMost.Checked           = _Setting.TopMost;
            cbxShowTouches.Checked       = _Setting.ShowTouches;
            cbxReadOnly.Checked          = _Setting.ReadOnly;
            #endregion
        }
Пример #16
0
        public void InitPdone()
        {
            setting = GetUserData();

            Application.ApplicationExit += (sender, e) =>
            {
                SetUserData(setting);
            };

            this.FormClosed += (sender, e) =>
            {
                if (AdbProcessInfo != null)
                {
                    //退出前关闭adb
                    AdbProcessInfo.Arguments = "kill-server";
                    Process.Start(AdbProcessInfo);
                    LogHelper.Info("kill adb server");
                }
                Application.Exit();
            };
            #region 设置标题
            Assembly        asm = Assembly.GetExecutingAssembly();
            FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location);
            ledTitle.Text       = $"Free Control v{fvi.ProductVersion}";
            ledTitle.CharCount  = 19;
            ledTitle.MouseDown += (sender, e) => DragWindow();
            this.Icon           = Properties.Resources.pcm;
            #endregion

            #region 设置主题颜色
            UIStyles.SetStyle(UIStyle.Gray);

            //设置默认导航条颜色
            navTab.TabSelectedForeColor = Color.FromArgb(140, 140, 140);
            navTab.TabSelectedHighColor = Color.FromArgb(140, 140, 140);
            //设置默认导航条图标
            tabHome.ImageIndex    = 0;
            tabSetting.ImageIndex = 2;
            #endregion

            #region 设置深色模式
            switchDarkMode.ValueChanged += (object sender, bool value) =>
            {
                var tabBackColor = Color.Transparent;
                if (value)
                {
                    tabBackColor = Color.FromArgb(24, 24, 24);
                    UIStyles.SetStyle(UIStyle.Black);
                    tabHome.BackColor    = tabBackColor;
                    tabSetting.BackColor = tabBackColor;
                    navTab.MenuStyle     = UIMenuStyle.Black;

                    btnStart.SetStyle(UIStyle.Black);

                    tabHome.ImageIndex    = 1;
                    tabSetting.ImageIndex = 3;
                }
                else
                {
                    tabBackColor = Color.FromArgb(242, 242, 244);
                    UIStyles.SetStyle(UIStyle.Gray);
                    tabHome.BackColor    = tabBackColor;
                    tabSetting.BackColor = tabBackColor;
                    navTab.MenuStyle     = UIMenuStyle.White;

                    btnStart.SetStyle(UIStyle.Gray);

                    tabHome.ImageIndex    = 0;
                    tabSetting.ImageIndex = 2;

                    navTab.TabSelectedForeColor = Color.FromArgb(140, 140, 140);
                    navTab.TabSelectedHighColor = Color.FromArgb(140, 140, 140);
                }
            };
            #endregion

            #region 切换tab事件
            navTab.SelectedIndexChanged += (object sender, EventArgs e) =>
            {
            };
            navTab.SelectTab(0);
            #endregion

            #region 设置默认值
            rbtnPx.SelectedIndex     = setting.PXIndex;
            rbtnMbps.SelectedIndex   = setting.BitRateIndex;
            rbtnMaxFPS.SelectedIndex = setting.MaxFPSIndex;
            switchDarkMode.Active    = setting.DarkMode;
            tbxAddress.Text          = setting.IPAddress;
            tbxPort.Text             = setting.Port;
            tbxAddress.Enabled       = !setting.UseWireless;
            tbxPort.Enabled          = !setting.UseWireless;

            #region   框默认值
            cbxUseWireless.Checked = setting.UseWireless;
            cbxUseLog.Checked      = setting.UseLog;
            LogHelper.enable       = setting.UseLog;

            cbxCloseScreen.Checked = setting.CloseScreen;
            cbxKeepAwake.Checked   = setting.KeepAwake;
            cbxAllFPS.Checked      = setting.AllFPS;

            cbxHideBorder.Checked = setting.HideBorder;
            cbxFullScreen.Checked = setting.FullScreen;
            cbxTopMost.Checked    = setting.TopMost;
            #endregion

            #region 参数设置事件
            rbtnPx.ValueChanged     += RbtnPx_ValueChanged;
            rbtnMbps.ValueChanged   += RbtnMbps_ValueChanged;
            rbtnMaxFPS.ValueChanged += RbtnMaxFPS_ValueChanged;

            cbxUseWireless.ValueChanged += CbxUseWireless_ValueChanged;
            cbxUseLog.ValueChanged      += CbxUseLog_ValueChanged;;

            switchDarkMode.ValueChanged += (sender, e) =>
            {
                setting.DarkMode = switchDarkMode.Active;
            };
            tbxAddress.TextChanged += TbxAddress_TextChanged;
            tbxPort.TextChanged    += TbxPort_TextChanged;

            cbxCloseScreen.ValueChanged += CommonCbx_ValueChanged;
            cbxKeepAwake.ValueChanged   += CommonCbx_ValueChanged;
            cbxAllFPS.ValueChanged      += CommonCbx_ValueChanged;
            cbxHideBorder.ValueChanged  += CommonCbx_ValueChanged;
            cbxFullScreen.ValueChanged  += CommonCbx_ValueChanged;
            cbxTopMost.ValueChanged     += CommonCbx_ValueChanged;
            #endregion

            #endregion

            #region 启动前
            string tempFileName = "temp.zip";
            if (!Directory.Exists(scrcpyPath))
            {
                Directory.CreateDirectory(scrcpyPath);
                File.WriteAllBytes(scrcpyPath + tempFileName, Properties.Resources.scrcpy_win32_v1_17);
                if (SharpZip.UnpackFiles(scrcpyPath + tempFileName, scrcpyPath))
                {
                    File.Delete(scrcpyPath + tempFileName);
                }
            }
            #endregion

            Process scrcpy = null;

            //设置端口号命令 adb tcpip 5555
            #region 启动按钮
            btnStart.Click += (sender, e) =>
            {
                if (setting.UseWireless &&
                    (string.IsNullOrWhiteSpace(setting.IPAddress) || string.IsNullOrWhiteSpace(setting.Port)))
                {
                    UIMessageTip.ShowWarning(sender as Control, "IP地址或者端口号没有填写,无法启动 -.-!", 1500);
                    return;
                }
                LogHelper.Info("starting...");
                var paramlist = $" {setting.BitRate} {setting.PX} {setting.MaxFPS} {setting.OtherParam} ";
                //设置屏幕高度 800
                paramlist += "--window-height 800 ";
                //设置快捷键 左Crtl
                paramlist += "--shortcut-mod=lctrl ";
                //设置标题
                paramlist += $"--window-title \"{ledTitle.Text}\" ";

                AdbProcessInfo = new ProcessStartInfo($@"{scrcpyPath}adb.exe",
                                                      $"connect {setting.IPAddress}:{setting.Port}")
                {
                    CreateNoWindow         = true,  //设置不在新窗口中启动新的进程
                    UseShellExecute        = false, //不使用操作系统使用的shell启动进程
                    RedirectStandardOutput = true,  //将输出信息重定向
                };

                if (setting.UseWireless)
                {
                    //启动ABD
                    Process adb = Process.Start(AdbProcessInfo);
                    LogHelper.Info(adb.StandardOutput.ReadToEnd());
                    adb.WaitForExit();
                    paramlist = $"-s {setting.IPAddress}:{setting.Port} " + paramlist;
                }

                scrcpy = Process.Start(new ProcessStartInfo($@"{scrcpyPath}scrcpy.exe",
                                                            paramlist)
                {
                    CreateNoWindow         = true,  //设置不在新窗口中启动新的进程
                    UseShellExecute        = false, //不使用操作系统使用的shell启动进程
                    RedirectStandardOutput = true,  //将输出信息重定向
                });

                this.Hide();
                LogHelper.Info("scrcpy running...");
                LogHelper.Info(scrcpy.StandardOutput.ReadToEnd());

                scrcpy.WaitForExit();
                UIMessageTip.Show(this, "已退出", null, 1500);
                this.Show();
            };
            #endregion
        }
Пример #17
0
        public override void DrawWindow()
        {
            GUI.skin.label.alignment = TextAnchor.MiddleCenter;
            GUILayout.Label("<color=orange><size=16><b>Options</b></size></color>", new GUILayoutOption[0]);
            GUI.skin.label.alignment = TextAnchor.MiddleLeft;

            GUIHelper.BeginVertical(GUIContent.none, GUI.skin.box, new GUILayoutOption[0]);

            GUIHelper.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Label($"Menu Toggle Key:", new GUILayoutOption[] { GUILayout.Width(215f) });
            toggleKeyInput.IValue.DrawValue(MainMenu.MainRect, MainMenu.MainRect.width - 215f);
            GUILayout.EndHorizontal();

            UIStyles.HorizontalLine(Color.black, true);

            GUIHelper.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Label($"Default Window Size:", new GUILayoutOption[] { GUILayout.Width(215f) });
            defaultSizeInput.IValue.DrawValue(MainMenu.MainRect, MainMenu.MainRect.width - 215f);
            GUILayout.EndHorizontal();

            UIStyles.HorizontalLine(Color.black, true);

            GUIHelper.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Label($"Default Items per Page:", new GUILayoutOption[] { GUILayout.Width(215f) });
            defaultPageLimitInput.IValue.DrawValue(MainMenu.MainRect, MainMenu.MainRect.width - 215f);
            GUILayout.EndHorizontal();

            UIStyles.HorizontalLine(Color.black, true);

            GUIHelper.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Label($"Enable Bitwise Editing:", new GUILayoutOption[] { GUILayout.Width(215f) });
            bitwiseSupportInput.IValue.DrawValue(MainMenu.MainRect, MainMenu.MainRect.width - 215f);
            GUILayout.EndHorizontal();

            UIStyles.HorizontalLine(Color.black, true);

            GUIHelper.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Label($"Enable Tab View:", new GUILayoutOption[] { GUILayout.Width(215f) });
            tabViewInput.IValue.DrawValue(MainMenu.MainRect, MainMenu.MainRect.width - 215f);
            GUILayout.EndHorizontal();

            UIStyles.HorizontalLine(Color.black, true);

            GUIHelper.BeginHorizontal(new GUILayoutOption[0]);
            GUILayout.Label($"Default Output Path:", new GUILayoutOption[] { GUILayout.Width(215f) });
            defaultOutputPathInput.IValue.DrawValue(MainMenu.MainRect, MainMenu.MainRect.width - 215f);
            GUILayout.EndHorizontal();

            if (GUILayout.Button("<color=lime><b>Apply and Save</b></color>", new GUILayoutOption[0]))
            {
                ApplyAndSave();
            }

            GUILayout.EndVertical();

            GUIHelper.Space(10f);

            GUI.skin.label.alignment = TextAnchor.MiddleCenter;
            GUILayout.Label("<color=orange><size=16><b>Other</b></size></color>", new GUILayoutOption[0]);
            GUI.skin.label.alignment = TextAnchor.MiddleLeft;

            GUIHelper.BeginVertical(GUIContent.none, GUI.skin.box, new GUILayoutOption[0]);

            if (GUILayout.Button("Inspect Test Class", new GUILayoutOption[0]))
            {
                WindowManager.InspectObject(Tests.TestClass.Instance, out bool _);
            }

            GUILayout.EndVertical();
        }