예제 #1
0
        /*
         * value = count;
         * parameter[0] = index;
         * parameter[1] = HEIGHT
         */
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            Thickness thickness;

            if (value is int &&
                parameter as object[] != null &&
                ((object[])parameter).Length == 2 &&
                ((object[])parameter)[0] is UserControls.ServerGroupPanel &&
                ((object[])parameter)[1] is double)
            {
                int count = (int)value;
                UserControls.ServerGroupPanel sgp = ((object[])parameter)[0] as UserControls.ServerGroupPanel;
                System.Windows.Controls.UIElementCollection children = (sgp.Parent as UserControls.ServerGroupRootPanel)?.Children;
                if (children != null)
                {
                    int    i      = children.IndexOf(sgp);
                    double HEIGHT = (double)((object[])parameter)[1];
                    thickness = new Thickness(0, i * HEIGHT, 0, (count - (i + 1)) * HEIGHT);
                }
                else
                {
                    thickness = new Thickness(0);
                }
            }
            else
            {
                thickness = new Thickness(0);
            }

            return(thickness);
        }
예제 #2
0
 public void DeleteChild(ServerGroupPanel sgp)
 {
     this.Children.Remove(sgp);
     for (int i = 0; i < this.Children.Count; i++)
     {
         ServerGroupPanel _sgp = this.Children[i] as ServerGroupPanel;
         if (_sgp != null)
         {
             _sgp.Margin = new Thickness(0, i * ConfigMenuPanel.HEIGHT, 0, (this.Children.Count - (i + 1)) * ConfigMenuPanel.HEIGHT);
         }
     }
 }
        void InitServerTab()
        {
            // serverinfo.json 파일 로드
            FileInfo fi = new FileInfo(ServerInfo.PATH);

            if (fi.Exists)
            {
                string json = FileContoller.Read(ServerInfo.PATH);
                try
                {
                    ServerInfo.jobj_root = JObject.Parse(json);
                    panel_server         = ServerInfo.ConvertFromJson(ServerInfo.jobj_root);

                    grid_server.Children.Add(panel_server);
                }
                catch (Exception e)
                {
                    Log.PrintError(e.Message, "UserControls.ServerMenu.InitServertab");
                }
            }
            else
            {
                try
                {
                    ServerInfo.jobj_root = new JObject(new JProperty("Server", new JObject()));
                    ServerGroupPanel panel_server = ServerInfo.ConvertFromJson(ServerInfo.jobj_root);

                    grid_server.Children.Add(panel_server);
                }
                catch (Exception e)
                {
                    Log.PrintError(e.Message, "UserControls.ServerMenu.InitServertab");
                }
            }

            if (ServerGroupButton.group.Count > 0)
            {
                ServerGroupButton.group[0].IsChecked = true;
            }
        }
예제 #4
0
        private void BtnAddServerMenu_Click(object sender, RoutedEventArgs e)
        {
            Window_AddServerMenu wms = new Window_AddServerMenu();
            Point pt = this.PointToScreen(new Point(0, 0));

            wms.Left = pt.X;
            wms.Top  = pt.Y;
            if (wms.ShowDialog() == true)
            {
                string server_menu_name = wms.textBox_name.Text;

                if (panel_server.ServerViewModel.AddServerGroup(server_menu_name) != 0)
                {
                    return;
                }

                ServerGroupPanel sgp = new ServerGroupPanel()
                {
                    Content = server_menu_name
                };
                panel_server.AddChild(sgp);
            }
        }