Inheritance: MonoBehaviour
Example #1
0
    public override void FocusAcquired()
    {
        //Should pool these instead... Oh well
        foreach (UserButton userButton in userButtons.Values)
        {
            Destroy(userButton.gameObject);
        }

        userButtons.Clear();

        //Load the data into memory and create buttons
        foreach (string userName in PlayerData.GetUserNames())
        {
            string     userNameCopy = userName;
            GameObject newButton    = Instantiate(userButtonTemplate, userButtonPanel.transform, false);

            UserButton newUserButton = newButton.GetComponent <UserButton>();
            newUserButton.userText.text = userNameCopy;
            newUserButton.userButton.onClick.AddListener(() => LogInWithUser(userNameCopy));
            newUserButton.deleteButton.onClick.AddListener(() => RequestDeleteUser(userNameCopy));

            userButtons.Add(userNameCopy, newUserButton);
        }

        //Show the proper Title
        UpdateUI();
    }
 public UserEditWindow(UserData user)
 {
     InitializeComponent();
     CurrentUser               = user;
     this.DataContext          = CurrentUser;
     UserPermissons            = User.ParsePermission(user.Permissions.Split(' '));
     isAdmin                   = user.Type == "Администратор" ? true : false;
     isAdmins                  = user.Type == "Администратор" ? true : false;
     PasswordBorder.Visibility = Visibility.Collapsed;
     LoginPlace.IsReadOnly     = true;
     if (MainWindow.User.Type != "Администратор")
     {
         AdminTools.Visibility = Visibility.Hidden;
     }
     else
     {
         AdminTools.Visibility = Visibility.Visible;
     }
     if (isAdmin)
     {
         UserButton.UpdateColorToStart();
         AdminButton.UpdateColorToEnd();
         UserStatusControl.IsEnabled = false;
     }
     else
     {
         UserButton.UpdateColorToEnd();
         AdminButton.UpdateColorToStart();
     }
 }
        //---------------------------------------------------------------------------

        /**
         * @fn		private void fn_SetPage(UserButton bn)
         * @brief	페이지 변경 함수.
         * @return	void
         * @param	UserButton bn
         * @remark
         * - 이전 버튼 배경을 Normal로 변경.
         * - 현재 버튼의 String을 Check해서 Frame Content에 Page Class Set.
         * @author	선경규(Kyeong Kyu - Seon)
         * @date	2020/3/9  16:30
         */
        private void fn_SetPage(UserButton bn)
        {
            if (m_bnPrev != null)
            {
                m_bnPrev.Background = G_COLOR_BTNNORMAL;
            }
            bn.Background = G_COLOR_BTNCLICKED;

            m_bnPrev = bn;

            string strName = bn.Content as string;

            if (strName == "Polishing")
            {
                frame.Content = mc_Polishing;
            }
            else if (strName == "Cleaning")
            {
                frame.Content = mc_Cleaning;
            }
            else if (strName == "Inspection Vision")
            {
                //mc_Vision.fn_LoadRecipe(lb_SelRecipe.Text as string);
                frame.Content = mc_InspectionVision;
            }
        }
Example #4
0
        //---------------------------------------------------------------------------
        private void btDoor_M_Click(object sender, RoutedEventArgs e)
        {
            //Door Open Button Click
            UserButton selBtn = sender as UserButton;

            switch (selBtn.Name)
            {
            case "btDoor_O":     //Main Door Open

                if (SEQ._bAuto)
                {
                    return;                 //JUNG/200814
                }
                SEQ.fn_SetDoorLock(ccOpen);
                SEQ.fn_SetDoorLock_Side(ccOpen);
                break;

            case "btDoor_C":     //Main Door Close
                SEQ.fn_SetDoorLock(ccClose);
                SEQ.fn_SetDoorLock_Side(ccClose);
                break;

            case "btSDoor_O":     //Side door open
                SEQ.fn_SetDoorLock_Side(ccOpen);
                break;

            case "btSDoor_C":     //Side Door Close
                SEQ.fn_SetDoorLock_Side(ccClose);
                break;

            default:
                break;
            }
        }
        //---------------------------------------------------------------------------
        private void fn_GetStartIndex(UserButton bn, out int nStart, out int nEnd)
        {
            string strStart, strEnd;

            if (bn != null)
            {
                strStart = bn.Content.ToString().Substring(0, bn.Content.ToString().IndexOf('~'));
                strEnd   = bn.Content.ToString().Substring(bn.Content.ToString().LastIndexOf('~') + 1);
                int.TryParse(strStart, out nStart);
                int.TryParse(strEnd, out nEnd);
                if (nStart < 0)
                {
                    nStart = 0;
                }
                if (nEnd >= 256)
                {
                    nEnd = 256;
                }

                if ((nEnd - nStart) > 32)
                {
                    nEnd = nStart + 32;
                }
            }
            else
            {
                nStart = 0;
                nEnd   = 31;
            }
        }
        private void bn_Live_Click(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                if (g_VisionManager._CamManager.fn_GetGrabbingState())
                {
                    // Grab Stop
                    g_VisionManager._CamManager.fn_GrabStop();

                    ub.Content              = "Live";
                    bn_OneShot.IsEnabled    = true;
                    bn_Process.IsEnabled    = true;
                    bn_Inspection.IsEnabled = true;

                    // Light Off
                    g_VisionManager.fn_SetLightValue(0);
                }
                else
                {
                    fn_SetOpticCondition();

                    // Grab Image.
                    g_VisionManager._CamManager.fn_GrabStart(1);
                    ub.Content              = "Stop";
                    bn_OneShot.IsEnabled    = false;
                    bn_Process.IsEnabled    = false;
                    bn_Inspection.IsEnabled = false;
                }
            }
        }
        private void bn_SelectionMillingTab(object sender, EventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                if (sp_CleaningList.Children.Count > 1)
                {
                    try
                    {
                        fn_RefreshStackPannel();
                        int nIdx = Convert.ToInt32(ub.CommandParameter);
                        ub.Background      = Brushes.White;
                        ub.BorderThickness = new Thickness(1, 1, 1, 0);
                        ub.FontWeight      = FontWeights.Bold;
                        ((ub.Content as Grid).Children[0] as Label).Foreground = Brushes.Black;

                        _listCleaning[nIdx].SampleWidth  = g_VisionManager._RecipeModel.SampleWidth;
                        _listCleaning[nIdx].SampleHeight = g_VisionManager._RecipeModel.SampleHeight;

                        bd_Milling.DataContext = _listCleaning[nIdx];
                        grid_Plate.DataContext = _listCleaning[nIdx];
                        Console.WriteLine($"Selected : {ub.CommandParameter}");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
                else
                {
                    bd_Milling.DataContext = new Recipe_MillingData();
                }
            }
        }
Example #8
0
    void PopulateUsers()
    {
        string usersPath = SerializationManager.CreatePath(UserFolder + "/", PathType);

        string[] directories = Directory.GetDirectories(usersPath);

        for (int i = 0; i < directories.Length; i++)
        {
            string   folderPath   = directories[i];
            string   filePath     = folderPath + "/user.json";
            string   userDataText = File.ReadAllText(filePath);
            UserData userData     = JsonUtility.FromJson <UserData>(userDataText);

            GameObject go = GameObject.Instantiate(UserPrefab, UserLayout);
            go.transform.position = Vector3.zero;
            CanvasGroup cg = go.GetComponent <CanvasGroup>();
            cg.interactable   = true;
            cg.blocksRaycasts = true;
            go.GetComponentInChildren <TextMeshProUGUI>().text = userData.Name;

            //Add trigger
            //Name is set to the folderpath
            go.name = folderPath + "/Languages";
            EventTrigger       trigger = go.AddComponent <EventTrigger>();
            EventTrigger.Entry entry   = new EventTrigger.Entry();
            entry.eventID = EventTriggerType.PointerClick;
            entry.callback.AddListener((data) => { TappedUser((PointerEventData)data); });
            trigger.triggers.Add(entry);

            //Add userdata to object for later retrieval
            UserButton buttonData = go.AddComponent <UserButton>();
            buttonData.userData = userData;
        }
        LayoutRebuilder.MarkLayoutForRebuild((RectTransform)transform);
    }
Example #9
0
        //---------------------------------------------------------------------------
        //Click...
        private void btOper_Click(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            string sSelName = ub.Content as string;

            tbUserId.Text = sSelName;

            pbPassWord.IsEnabled = true;

            switch (sSelName)
            {
            case "OPERATOR":
                pbPassWord.IsEnabled = false;
                m_nSelLevel          = (int)EN_USER_LEVEL.lvOperator;
                break;

            case "ENGINEER":
                m_nSelLevel = (int)EN_USER_LEVEL.lvEngineer;
                break;

            case "ADMIN":
                m_nSelLevel = (int)EN_USER_LEVEL.lvMaster;
                break;

            default:
                break;
            }

            fn_SetBackground(m_nSelLevel);
        }
        private void btnCreateLik_Click(object sender, RoutedEventArgs e)
        {
            var re = LikUtil.FastCreate();

            if (re)
            {
                Alert.Show("设置桌面快捷方式成功", AlertTheme.Success);
            }
            else
            {
                var btn = new UserButton("更新", () => {
                    var re2 = LikUtil.FastCreate(true);
                    if (re2)
                    {
                        Alert.Show("更新桌面快捷方式成功", AlertTheme.Success);
                    }
                    else
                    {
                        Alert.Show("更新桌面快捷方式失败", AlertTheme.Error);
                    }
                });
                btn.LoadAlertTheme(AlertTheme.Warning);
                Alert.Show("", "桌面快捷方式已存在,是否强制更新快捷方式", AlertTheme.Warning, btn, new AlertConfig()
                {
                    OnlyOneWindowAllowed = true
                });
            }
        }
        private void bn_Live_Click(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                if (g_VisionManager._CamManager.fn_GetGrabbingState())
                {
                    // Grab Stop
                    g_VisionManager._CamManager.fn_GrabStop();

                    ub.Content = "Live";
                    fn_EnableButton(true);

                    // Light off.
                    g_VisionManager.fn_SetLightValue(0);
                }
                else
                {
                    fn_SetOpticCondition();
                    // Grab Live.
                    g_VisionManager._CamManager.fn_GrabStart(1);
                    ub.Content = "Stop";
                    fn_EnableButton(false);
                }
            }
        }
Example #12
0
        //---------------------------------------------------------------------------
        private void m_fn_SetPage(UserInterface.UserButton bn)
        {
            string strName = bn.Content as string;
            string sPath;

            sPath       = UserFile.fn_GetExePath();
            _strLogType = "LOG\\";


            if (_prevButton != null)
            {
                _prevButton.Background = G_COLOR_BTNNORMAL;
            }

            bn.Background = G_COLOR_BTNCLICKED;

            if (strName == "EVENT")
            {
                _strLogType += "EVENT";
            }
            else if (strName == "ALARM")
            {
                _strLogType += "ALARM";
            }
            else if (strName == "TRANSFER")
            {
                _strLogType += "TRANSFER";
            }
            else if (strName == "PMC")
            {
                _strLogType += "PMC";
            }
            else if (strName == "LOT")
            {
                _strLogType += "LOT";
            }
            else if (strName == "VISION")
            {
                _strLogType += "VISION";
            }
            else if (strName == "TRACE")
            {
                _strLogType += "TRACE";
            }

            _strLogType += "\\";
            string[] strPaths = UserFile.fn_GetFileList(sPath + _strLogType);

            lvLogList.ItemsSource = strPaths;

            lbLogInfo.Items.Clear();

            _prevButton = bn;

            fn_LogItemDisplay(0);

            //for csv
            m_sSelFilePath = sPath + _strLogType;
        }
        //---------------------------------------------------------------------------
        private void UserButton_Click(object sender, RoutedEventArgs e)
        {
            //
            UserButton selbtn = sender as UserButton;
            COMMAND    nTag   = (COMMAND)selbtn.Tag;

            PMC.fn_SendCommand(nTag);
        }
Example #14
0
    void AddButton(int id, UsersManager.UserData data)
    {
        UserButton b = Instantiate(button);

        b.transform.SetParent(container);
        b.Init(data, OnClicked);
        b.transform.localScale = Vector3.one;
    }
Example #15
0
        private void btnNormal_Click(object sender, RoutedEventArgs e)
        {
            var btn = sender as Button;

            switch (int.Parse(btn.Tag.ToString()))
            {
            case 0:
                Alert.Show("Normal");
                break;

            case 1:
                Alert.Show("Title", "Normal With Title");
                break;

            case 2:
                Alert.Show("Use Error Theme", AlertTheme.Error);
                break;

            case 3:
                Alert.Show("Use Success Theme", AlertTheme.Success);
                break;

            case 4:
                Alert.Show("", "Take One Button", AlertTheme.Default, new UserButton("Click Me", () =>
                {
                    MessageBox.Show("You clicked one button");
                }));
                break;

            case 5:
                var btn2 = new UserButton("Click Me", () => { });
                btn2.LoadAlertTheme(AlertTheme.Success);
                Alert.Show("Title", "Take Two Themes Button", AlertTheme.Default, new UserButton("Click Me", () => { })
                {
                    BackgroundColor = Color.Red,
                    BorderColor     = Color.Crimson,
                    FontColor       = Color.LightSkyBlue,
                    FontSize        = 15,
                }, btn2, null);
                break;

            case 6:
                var closeAction = new Action(() =>
                {
                    MessageBox.Show("Alert Has Closed");
                });
                Alert.Show("Title", "With AlertConfig", AlertTheme.Default, new List <UserButton> {
                    new UserButton("Click Me", () => { })
                }, new AlertConfig()
                {
                    AlertShowDuration    = 5000,
                    AnimationDuration    = 500,
                    OnlyOneWindowAllowed = true,
                    OnAlertCloseCallback = closeAction
                });
                break;
            }
        }
 private void AdminButton_MouseDown(object sender, MouseButtonEventArgs e)
 {
     if (MainWindow.User.Type == "Администратор")
     {
         UserButton.UpdateColorToStart();
         AdminButton.UpdateColorToEnd();
         isAdmins = true;
     }
 }
Example #17
0
 public void Edit(UserButton userButton)
 {
     Events.OnActiveUser(userButton.userData.id);
     Events.GotoTo("BabyInfo");
     if (open)
     {
         Toogle();
     }
 }
Example #18
0
        private void bn_Loaded(object sender, RoutedEventArgs e)
        {
            UserButton bn = sender as UserButton;

            if (bn != null)
            {
                dicBn.Add(bn.CommandParameter as string, bn);
            }
        }
Example #19
0
 public void Ready(UserButton userButton)
 {
     Events.OnActiveUser(userButton.userData.id);
     Events.GotoTo("ConnectDevice");
     if (open)
     {
         Toogle();
     }
 }
Example #20
0
    public void AddUser(string pUserName)
    {
        UserButton user = Instantiate(_userButtonPrefab);

        user.onClick.AddListener(() => buttonClicked(pUserName));
        user.SetName(pUserName);
        user.transform.SetParent(_userParent.transform, false);
        _userButtonMap[pUserName] = user;
    }
Example #21
0
 public void RemoveUser(string pUserName)
 {
     if (_userButtonMap.ContainsKey(pUserName))
     {
         UserButton button = _userButtonMap[pUserName];
         _userButtonMap.Remove(pUserName);
         button.onClick.RemoveAllListeners();
         Destroy(button.gameObject);
     }
 }
        private void OperatorButton_Click(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                sOperator  = ub.Content as string;
                sPrevInput = lb_Input.Content as string;
            }
        }
        //---------------------------------------------------------------------------
        private void bnListAlign_Click(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                _dtRecipe.DefaultView.Sort = ub.CommandParameter as string;
                _dtRecipe             = _dtRecipe.DefaultView.ToTable();
                dg_Recipe.ItemsSource = _dtRecipe.DefaultView;
            }
        }
        private void bn_CleaningAdd_Click(object sender, RoutedEventArgs e)
        {
            int nspCount = sp_CleaningList.Children.Count;

            if (nspCount < 11)
            {
                UserButton ubClose = new UserButton();
                ubClose.Content    = "X";
                ubClose.Background = Brushes.Transparent;
                // ubClose.Background = Brushes.Maroon;
                // ubClose.Foreground = Brushes.White;
                ubClose.FontWeight = FontWeights.Bold;
                ubClose.MouseOverBackgroundBrush = Brushes.Magenta;
                ubClose.BorderThickness          = new Thickness(0);
                ubClose.CornerRadius             = new CornerRadius(5);
                ubClose.HorizontalAlignment      = HorizontalAlignment.Right;
                ubClose.FontSize         = 12;
                ubClose.Width            = 20;
                ubClose.Height           = 20;
                ubClose.Click           += bn_DeleteMillingTab;
                ubClose.CommandParameter = nspCount - 1;

                Label tb = new Label();
                tb.Content    = "Clean " + nspCount.ToString("00");
                tb.Foreground = Brushes.Gray;
                tb.FontWeight = FontWeights.Normal;
                tb.FontSize   = 14;

                Grid grd = new Grid();
                grd.Children.Add(tb);
                grd.Children.Add(ubClose);

                UserButton ubTab = new UserButton();
                ubTab.Content          = grd;
                ubTab.Width            = 95;
                ubTab.CornerRadius     = new CornerRadius(5, 5, 0, 0);
                ubTab.Margin           = new Thickness(0, 0, 2, -1);
                ubTab.CommandParameter = nspCount - 1;
                ubTab.BorderBrush      = Brushes.DarkGray;
                ubTab.Click           += bn_SelectionMillingTab;

                grd.Width = ubTab.Width - 5;

                sp_CleaningList.Children.Insert(sp_CleaningList.Children.Count - 1, ubTab);

                _listCleaning.Add(new Recipe_Cleaning());
                _listCleaning[_listCleaning.Count - 1].SampleWidth  = g_VisionManager._RecipeModel.SampleWidth;
                _listCleaning[_listCleaning.Count - 1].SampleHeight = g_VisionManager._RecipeModel.SampleHeight;
                fn_RefreshStackPannel();
                bn_SelectionMillingTab(ubTab, e);
                //sv_MillingTab.ScrollToRightEnd();
            }
        }
        private void bn_InDeCrease_Click(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                double dValue = 0.0, dCurrent = 0.0;
                double.TryParse(ub.Content as string, out dValue);
                double.TryParse(lb_InputResult.Content as string, out dCurrent);
                lb_InputResult.Content = (dCurrent + dValue).ToString("0.00");
            }
        }
 private void AddButtons()
 {
     for (int i = 0; i < rest.AvailableUsernames().Count; i++)
     {
         GameObject newButton = GameObject.Instantiate(userButtonPrefab);
         newButton.transform.SetParent(contentPanel, false);
         UserButton userButton = newButton.GetComponent <UserButton>();
         float      minY       = 1 - .25f * (i + 1);
         float      maxY       = .25f + minY;
         userButton.setAtAnchors(new Vector2(0, minY), new Vector2(1, maxY));
         userButton.Setup(rest.AvailableUsernames()[i]);
     }
 }
Example #27
0
 public MenuButton(UserButton userButton, Home_ChangeCC_Function callback1, Home_PopUpButtons_Function callback2, Home_ChangeBtnSP_Function callback3 = null)
 {
     InitializeComponent();
     Home_ChangeCC_Event     += callback1;
     Home_PopUpButtons_Event += callback2;
     Home_ChangeBtnSP_Event  += callback3;
     this.userButton          = userButton;
     base.Loaded             += new RoutedEventHandler(MenuButton_Loaded);
     base.Unloaded           += new RoutedEventHandler(MenuButton_Unloaded);
     InitSelectDB();
     InitUI();
     InitEvent();
 }
        private void bn_Click_ROI(object sender, RoutedEventArgs e)
        {
            UserButton ub = sender as UserButton;

            if (ub != null)
            {
                Rect rect = ac_Manual.GetRectModel();
                switch (ub.CommandParameter)
                {
                case "LL":
                    rect.X--;
                    rect.Width++;
                    break;

                case "LR":
                    rect.X++;
                    rect.Width--;
                    break;

                case "RR":
                    rect.Width++;
                    break;

                case "RL":
                    rect.Width--;
                    break;

                case "TT":
                    rect.Y--;
                    rect.Height++;
                    break;

                case "TB":
                    rect.Y++;
                    rect.Height--;
                    break;

                case "BT":
                    rect.Height--;
                    break;

                case "BB":
                    rect.Height++;
                    break;
                }
                Rect[] rectroi = new Rect[2];
                rectroi[0] = rect;
                ac_Manual.SetRectangle(rectroi);
                ac_Manual.DrawRectGrid();
            }
        }
 private void UpdateText()
 {
     textBox.Text = UserButton == byte.MaxValue ? string.Empty : UserButton.ToString(System.Globalization.CultureInfo.InvariantCulture);
     if (UserButton == DefaultButton)
     {
         textBox.BackColor = SystemColors.Window;
         textBox.ForeColor = SystemColors.WindowText;
     }
     else
     {
         textBox.BackColor = SystemColors.Highlight;
         textBox.ForeColor = SystemColors.HighlightText;
     }
 }
Example #30
0
 private void UpdateText()
 {
     textBox.Text = UserButton == byte.MaxValue ? string.Empty: UserButton.ToString();
     if (UserButton == DefaultButton)
     {
         textBox.BackColor = SystemColors.Window;
         textBox.ForeColor = SystemColors.WindowText;
     }
     else
     {
         textBox.BackColor = SystemColors.Highlight;
         textBox.ForeColor = SystemColors.HighlightText;
     }
 }