public virtual void ShouldBindContentAlignments()
        {
            Accordion     acc  = new Accordion();
            AccordionItem item = new AccordionItem();

            item.Content = new Button()
            {
                Content = "content"
            };
            acc.Width  = 300;
            acc.Height = 300;
            acc.Items.Add(item);

            TestAsync(
                acc,
                () => item.IsSelected = true,
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(((Button)item.Content).ActualWidth < 200),
                () => Assert.IsTrue(((Button)item.Content).ActualHeight < 200),
                () => item.VerticalContentAlignment   = VerticalAlignment.Stretch,
                () => item.HorizontalContentAlignment = HorizontalAlignment.Stretch,
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(((Button)item.Content).ActualWidth > 200),
                () => Assert.IsTrue(((Button)item.Content).ActualHeight > 200));
        }
        public virtual void ShouldBindAccordionButtonStyle()
        {
            Accordion acc         = new Accordion();
            Style     buttonStyle = new Style(typeof(AccordionButton));

            // todo: remove below line to test the actual switch of the style
            acc.AccordionButtonStyle = buttonStyle;
            acc.Items.Add("item 1");
            acc.Items.Add(new AccordionItem()
            {
                Content = "item 2"
            });
            acc.Items.Add(new AccordionItem()
            {
                Content = "item 3", AccordionButtonStyle = new Style(typeof(AccordionButton))
            });

            bool loaded = false;

            acc.Loaded += (sender, args) => loaded = true;
            EnqueueCallback(() => TestPanel.Children.Add(acc));
            EnqueueConditional(() => loaded);
            EnqueueCallback(() => acc.AccordionButtonStyle = buttonStyle);
            EnqueueCallback(() => Assert.AreSame(buttonStyle, ((AccordionItem)acc.ItemContainerGenerator.ContainerFromIndex(0)).AccordionButtonStyle));
            EnqueueCallback(() => Assert.AreSame(buttonStyle, ((AccordionItem)acc.ItemContainerGenerator.ContainerFromIndex(1)).AccordionButtonStyle));
            EnqueueCallback(() => Assert.AreNotSame(buttonStyle, ((AccordionItem)acc.ItemContainerGenerator.ContainerFromIndex(2)).AccordionButtonStyle));
            EnqueueTestComplete();
        }
        public virtual void ShouldAllowContentToResizeInNonFixedSizeScenario()
        {
            Accordion     acc  = new Accordion();
            AccordionItem item = new AccordionItem();

            item.Content = new Shapes.Rectangle()
            {
                Width  = 100,
                Height = 100
            };
            acc.Items.Add(item);

            TestAsync(
                acc,
                () => item.IsSelected = true,
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(item.ActualWidth < 110),
                () => Assert.IsTrue(item.ActualHeight < 110),
                () => Assert.IsTrue(item.ActualHeight > 60),
                () => ((Shapes.Rectangle)item.Content).Height = 400,
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(item.ActualHeight > 230));
        }
    public bool IsActive;   // For status

    /// <summary>
    ///  Page load method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set selected accordion open
        Accordion MasterAcc = (Accordion)Master.FindControl("acdnMaster");
        int       Ind       = MasterAcc.SelectedIndex;
        int       Index     = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = Index - 1;
        // To select loginuser id and login username
        Login objSubMenu = new Login();

        objSubMenu.Start();
        UserName  = objSubMenu.LogedInUser;
        LoginUser = objSubMenu.LoginUser;
        Ret       = objSubMenu.Ret;
        if (!Page.IsPostBack)
        {
            IsActive = true;
            BindMenu(true);
            if (Session["SubMenuID"] != null)
            {
                CheckSubMenuId();
                SubMenuID = Convert.ToInt32(Session["SubMenuId"].ToString());
            }
        }
        else
        {
            if (Session["SubMenuID"] != null)
            {
                SubMenuID = Convert.ToInt32(Session["SubMenuId"].ToString());
            }
        }
    }
    DataView DvGroup;           // For Group table

    /// <summary>
    ///  Page Load Method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set Selected accordion open
        Accordion MasterAcc  = (Accordion)Master.FindControl("acdnMaster");
        int       GroupInd   = MasterAcc.SelectedIndex;
        int       GroupIndex = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = GroupIndex - 1;
        // To select loginuser id and login username
        Login objGroup = new Login();

        objGroup.Start();
        Useraname = objGroup.LogedInUser;
        LoginUser = objGroup.LoginUser;
        Ret       = objGroup.Ret;
        if (!Page.IsPostBack)
        {
            // To sort defaulty by Ascending order
            ViewState["grpSort"] = "ASC";
            // To fetch Group details having active status
            DataTable DtGrp = ActivegetGroupDetails();
            ViewState["grpdtNewGroup"] = DtGrp;
            BindGrid(DtGrp);
        }
    }
예제 #6
0
        /// <summary>
        /// 设置属性
        /// </summary>
        protected override void SetAttributes()
        {
            Accordion control = this.ControlHost.Content as Accordion;

            this.HtmlWriter.AddAttribute("dojoType", "Controls/AccordionContainer");
            this.HtmlWriter.AddAttribute("attachParent", "true");
            if (!IsPreview && !string.IsNullOrEmpty(this.ControlHost.Name))
            {
                this.HtmlWriter.AddAttribute("id", this.ControlHost.Name);
                this.HtmlWriter.AddAttribute("name", this.ControlHost.Name);
            }

            StringBuilder sbProps       = new StringBuilder();
            StringBuilder returnContent = new StringBuilder();
            string        props         = control.BuildControlProps(this.ScreenDefinition, this.IsPreview, this.PermissionData, returnContent);

            if (!string.IsNullOrEmpty(props))
            {
                sbProps.AppendFormat("{0},", props);
            }
            if (sbProps.ToString().Length > 0)
            {
                this.HtmlWriter.AddAttribute("data-dojo-props", sbProps.ToString().Substring(0, sbProps.ToString().Length - 1), false);
            }

            base.SetAttributes();
        }
예제 #7
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string     menuType   = "menu";
            HttpCookie menuCookie = Request.Cookies["Menu"];

            if (menuCookie != null)
            {
                menuType = menuCookie.Value;
            }

            // 注册客户端脚本,服务器端控件ID和客户端ID的映射关系
            JObject ids = GetClientIDS(btnExpandAll, btnCollapseAll, windowSourceCode, mainTabStrip);

            if (menuType == "accordion")
            {
                Accordion accordionMenu = InitAccordionMenu();
                ids.Add("mainMenu", accordionMenu.ClientID);
                ids.Add("menuType", "accordion");
            }
            else
            {
                Tree treeMenu = InitTreeMenu();
                ids.Add("mainMenu", treeMenu.ClientID);
                ids.Add("menuType", "menu");
            }

            string idsScriptStr = String.Format("window.IDS={0};", ids.ToString(Newtonsoft.Json.Formatting.None));

            PageContext.RegisterStartupScript(idsScriptStr);
        }
예제 #8
0
        protected void Page_Init(object sender, EventArgs e)
        {
            if (Session["UserID"] == null || Session["UserName"] == null || Session["AccessLevel"] == null || Session["Depart"] == null)
            {
                Session["UserID"]      = null;
                Session["UserName"]    = null;
                Session["AccessLevel"] = null;
                Session["Depart"]      = null;
                //PageContext.Redirect(System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Login.aspx", "_top");
                Response.Redirect("../Login.aspx");
            }
            // 注册客户端脚本,服务器端控件ID和客户端ID的映射关系
            JObject ids = GetClientIDS(mainTabStrip);

            Accordion accordionMenu = InitAccordionMenu();

            ids.Add("mainMenu", accordionMenu.ClientID);
            ids.Add("menuType", "accordion");


            // 只在页面第一次加载时注册客户端用到的脚本
            if (!Page.IsPostBack)
            {
                string idsScriptStr = String.Format("window.IDS={0};", ids.ToString(Newtonsoft.Json.Formatting.None));
                PageContext.RegisterStartupScript(idsScriptStr);
            }
        }
예제 #9
0
    protected void rptFAQGroup_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e == null)
        {
            throw new ArgumentNullException(nameof(e));
        }

        Accordion acc = (Accordion)e.Item.FindControl("accFAQGroup");
        FAQGroup  fg  = (FAQGroup)e.Item.DataItem;

        acc.DataSource = fg.Items;
        acc.DataBind();

        // Auto-expand if it contains the selected FAQ item
        int i = 0;

        foreach (FAQItem fi in fg.Items)
        {
            if (fi.idFAQ == SelectedFAQItem)
            {
                acc.SelectedIndex = i;
            }
            i++;
        }
    }
        public virtual void AccordionPeerOnlySupportsSelection()
        {
            Accordion view = new Accordion();
            AccordionAutomationPeer peer = null;

            TestAsync(
                view,
                () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(view) as AccordionAutomationPeer,
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Dock), "AccordionAutomationPeer should not support the Dock pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.ExpandCollapse), "AccordionAutomationPeer should not support the ExpandCollapse pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Grid), "AccordionAutomationPeer should not support the Grid pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.GridItem), "AccordionAutomationPeer should not support the GridItem pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Invoke), "AccordionAutomationPeer should not support the Dock pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.MultipleView), "AccordionAutomationPeer should not support the MultipleView pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.RangeValue), "AccordionAutomationPeer should not support the RangeValue pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.ScrollItem), "AccordionAutomationPeer should not support the ScrollItem pattern!"),
                () => Assert.IsNotNull(peer.GetPattern(PatternInterface.Selection), "AccordionAutomationPeer should support the Selection pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.SelectionItem), "AccordionAutomationPeer should not support the SelectionItem pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Table), "AccordionAutomationPeer should not support the Table pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.TableItem), "AccordionAutomationPeer should not support the TableItem pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Toggle), "AccordionAutomationPeer should not support the Toggle pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Transform), "AccordionAutomationPeer should not support the Transform pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Value), "AccordionAutomationPeer should not support the Value pattern!"),
                () => Assert.IsNull(peer.GetPattern(PatternInterface.Window), "AccordionAutomationPeer should not support the Window pattern!"));
        }
예제 #11
0
    DataView DvSubMenu;     // For Sorting view

    /// <summary>
    /// On Page Load
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set selected accordion open
        Accordion MasterAcc = (Accordion)Master.FindControl("acdnMaster");
        int       ind       = MasterAcc.SelectedIndex;
        int       indx      = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = indx - 1;
        grdSubMenuDetails.Columns[0].Visible = false;
        // To select loginuser id and login username
        Login objSubMenu = new Login();

        objSubMenu.Start();
        UserName  = objSubMenu.LogedInUser;
        LoginUser = objSubMenu.LoginUser;
        Ret       = objSubMenu.Ret;
        if (!Page.IsPostBack)
        {
            IsActive = true;
            // To sort defaulty by Ascending order
            ViewState["Sort"] = "ASC";
            // To fetch SubMenu details having active status
            DataTable DtSubMenu = GetSubMenuDetails(IsActive);
            ViewState["DtSubMenu"] = DtSubMenu;
            BindGrid(DtSubMenu);
            if (Session["SubMenuID"] != null)
            {
                SubMenuID = Convert.ToInt32(Session["SubMenuId"].ToString());
            }
        }
    }
예제 #12
0
        public virtual void AccordionItemPeerRemoveSelectionNoAccordion()
        {
            Accordion acc = new Accordion();

            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            AccordionItem first = new AccordionItem {
                Header = "First"
            };
            AccordionItem second = new AccordionItem {
                Header = "Second"
            };

            acc.Items.Add(first);
            acc.Items.Add(second);

            ISelectionItemProvider provider = null;

            TestAsync(
                acc,
                () => first.IsSelected = true,
                () => provider         = FrameworkElementAutomationPeer.CreatePeerForElement(first) as ISelectionItemProvider,
                () => provider.RemoveFromSelection(),
                () => Thread.Sleep(40),
                () => Assert.IsFalse(first.IsSelected, "Item should be not selected!"));
        }
예제 #13
0
파일: main.aspx.cs 프로젝트: piclove/AppBox
        /// <summary>
        /// 创建手风琴菜单
        /// </summary>
        /// <param name="menus"></param>
        /// <returns></returns>
        private Accordion InitAccordionMenu(List <Menu> menus)
        {
            Accordion accordionMenu = new Accordion();

            accordionMenu.ID         = "accordionMenu";
            accordionMenu.EnableFill = true;
            accordionMenu.ShowBorder = false;
            accordionMenu.ShowHeader = false;
            regionLeft.Items.Add(accordionMenu);


            foreach (var menu in menus.Where(m => m.Parent == null))
            {
                AccordionPane accordionPane = new AccordionPane();
                accordionPane.Title       = menu.Name;
                accordionPane.Layout      = Layout.Fit;
                accordionPane.ShowBorder  = false;
                accordionPane.BodyPadding = "2px 0 0 0";
                accordionMenu.Items.Add(accordionPane);

                Tree innerTree = new Tree();
                innerTree.EnableArrows = true;
                innerTree.ShowBorder   = false;
                innerTree.ShowHeader   = false;
                innerTree.EnableIcons  = false;
                innerTree.AutoScroll   = true;
                accordionPane.Items.Add(innerTree);


                // 生成树
                ResolveMenuTree(menus, menu, innerTree.Nodes);
            }

            return(accordionMenu);
        }
예제 #14
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string     menuType   = "menu";
            HttpCookie menuCookie = Request.Cookies["MenuStyle_v4"];

            if (menuCookie != null)
            {
                menuType = menuCookie.Value;
            }

            // 注册客户端脚本,服务器端控件ID和客户端ID的映射关系
            JObject ids = GetClientIDS(btnExpandAll, btnCollapseAll, windowSourceCode, mainTabStrip, leftRegion, menuSettings);

            if (menuType == "accordion")
            {
                Accordion accordionMenu = InitAccordionMenu();
                ids.Add("mainMenu", accordionMenu.ClientID);
                ids.Add("menuType", "accordion");
            }
            else
            {
                Tree treeMenu = InitTreeMenu();
                ids.Add("mainMenu", treeMenu.ClientID);
                ids.Add("menuType", "menu");
            }

            ids.Add("theme", PageManager.Instance.Theme.ToString());

            // 只在页面第一次加载时注册客户端用到的脚本
            if (!Page.IsPostBack)
            {
                string idsScriptStr = String.Format("window.IDS={0};", ids.ToString(Newtonsoft.Json.Formatting.None));
                PageContext.RegisterStartupScript(idsScriptStr);
            }
        }
예제 #15
0
    DataTable DtAddNew = new DataTable(); // for New grouprole table


    /// <summary>
    ///  Page load method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set selected accordion open
        Accordion MasterAcc = (Accordion)Master.FindControl("acdnMaster");
        int       Ind       = MasterAcc.SelectedIndex;
        int       Index     = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = Index - 1;
        // To select loginuser id and login username
        Login objGroupRole = new Login();

        objGroupRole.Start();
        UserName  = objGroupRole.LogedInUser;
        LoginUser = objGroupRole.LoginUser;
        Ret       = objGroupRole.Ret;
        if (!IsPostBack)
        {
            // To sort defaulty by Ascending order
            ViewState["DtSortUser"] = "******";
            // To fetch GroupRole details having active status
            DataTable DtGrpRole = ActiveGridDataSource();
            ViewState["DtGrpRolUser"] = DtGrpRole;
            BindGrid(DtGrpRole);
        }
    }
    DataView DvInsDes;                    // for instructional data view

    /// <summary>
    /// Page Load Method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set Selected accordion open
        Accordion MasterAcc   = (Accordion)Master.FindControl("acdnMaster");
        int       InsDesInd   = MasterAcc.SelectedIndex;
        int       InsDesIndex = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = InsDesIndex - 1;
        // To select loginuser id and login username
        Login objInsDes = new Login();

        objInsDes.Start();
        UserName  = objInsDes.LogedInUser;
        LoginUser = objInsDes.LoginUser;
        Ret       = objInsDes.Ret;
        if (!Page.IsPostBack)
        {
            IsActive          = true;
            ViewState["Sort"] = "ASC";
            DataTable DtInsDes = InsDesActiveDetails(IsActive);
            ViewState["DtInsDes"] = DtInsDes;
            if (DtInsDes.Rows.Count > 0)
            {
                BindInsDes(DtInsDes);
            }
            else
            {
                GrdInsDes.DataSource = null;
                GrdInsDes.DataBind();
            }
        }
    }
예제 #17
0
        private Accordion InitAccordionMenu()
        {
            int UserID = int.Parse(Session["UserID"].ToString());

            Accordion accordionMenu = new Accordion();

            accordionMenu.ID         = "accordionMenu";
            accordionMenu.EnableFill = true;
            accordionMenu.ShowBorder = false;
            accordionMenu.ShowHeader = false;
            Region2.Items.Add(accordionMenu);

            int user_id = int.Parse(Session["UserID"].ToString());

            Web_Node node1 = new Web_Node();

            node1.NAME       = "Web";
            node1.INDEX_     = 2;
            node1.PINDEX     = 1;
            node1.SPECIES    = 8;
            node1.SPECIES_ID = 1;
            node1.CS         = 1;
            FineUI.TreeNode tnode = new FineUI.TreeNode();
            tnode.Text        = node1.NAME;
            tnode.NodeID      = node1.INDEX_.ToString();
            tnode.NavigateUrl = "javascript:void(0)";

            TreeHelper_Web.BuildUserWebTree(user_id, tnode, accordionMenu);
            return(accordionMenu);
        }
        public virtual void AccordionPeerGetSelectionChanged()
        {
            Accordion acc = new Accordion();

            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            AccordionItem first = new AccordionItem {
                Header = "First", Content = "a"
            };
            AccordionItem second = new AccordionItem {
                Header = "Second", Content = "b"
            };

            acc.Items.Add(first);
            acc.Items.Add(second);

            ISelectionProvider provider = null;

            IRawElementProviderSimple[] selection = null;
            TestAsync(
                acc,
                () => second.IsSelected = true,
                () => provider          = FrameworkElementAutomationPeer.CreatePeerForElement(acc) as ISelectionProvider,
                () => FrameworkElementAutomationPeer.CreatePeerForElement(second),
                () => selection = provider.GetSelection(),
                () => Assert.AreEqual(1, selection.Length, "Expected a selection!"),
                () => second.IsSelected = false,
                () => selection         = provider.GetSelection(),
                () => Assert.IsNotNull(selection, "An empty selection was expected!"),
                () => Assert.AreEqual(0, selection.Length, "No items should be selected!"));
        }
    DataView DvPortFolio;                   // For Menu Details View

    /// <summary>
    /// Page load Method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set Selected accordion open
        Accordion MasterAcc = (Accordion)Master.FindControl("acdnMaster");
        int       MenuInd   = MasterAcc.SelectedIndex;
        int       MenuIndex = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = MenuIndex - 1;
        // To select loginuser id and login username
        Login objMenu = new Login();

        objMenu.Start();
        UserName  = objMenu.LogedInUser;
        LoginUser = objMenu.LoginUser;
        Ret       = objMenu.Ret;
        if (!Page.IsPostBack)
        {
            IsActive = true;
            // To sort defaulty by Ascending order
            ViewState["Sort"] = "ASC";
            // To fetch Portfolio Manager details having active status
            DataTable DtPortMana = PortManaActiveDetails(IsActive);
            ViewState["DtPortMana"] = DtPortMana;
            if (DtPortMana.Rows.Count > 0)
            {
                BindPortMana(DtPortMana);
            }
            else
            {
                GrdPortfolioManager.DataSource = null;
                GrdPortfolioManager.DataBind();
            }
        }
    }
예제 #20
0
        public virtual void AccordionItemPeerSelectAlreadySelected()
        {
            Accordion acc = new Accordion();

            acc.SelectionMode = AccordionSelectionMode.One;
            AccordionItem first = new AccordionItem {
                Header = "First"
            };
            AccordionItem second = new AccordionItem {
                Header = "Second"
            };

            acc.Items.Add(first);
            acc.Items.Add(second);

            ISelectionItemProvider provider = null;

            TestAsync(
                acc,
                () => second.IsSelected = true,
                () => Assert.IsFalse(first.IsSelected, "First item should not be selected!"),
                () => provider = FrameworkElementAutomationPeer.CreatePeerForElement(first) as ISelectionItemProvider,
                () => provider.Select(),
                () => Thread.Sleep(40),
                () => Assert.IsTrue(first.IsSelected, "First item should be selected!"),
                () => Assert.IsFalse(second.IsSelected, "Second item should not be selected!"));
        }
예제 #21
0
        void CreateModuleMenu(List <ServiceAuthenInitialize.CsDesktopGroup> modules, Accordion accordian)
        {
            try
            {
                //AccordionItem
                foreach (ServiceAuthenInitialize.CsDesktopGroup module in modules)
                {
                    AccordionItem AcorItems = new AccordionItem();
                    AcorItems.Header = module.NOM;
                    //AcorItems.Background = new SolidColorBrush(bgColor);
                    StackPanel bodyPanel = new StackPanel();
                    //panel.Height = Double.NaN;
                    //panel.Width = Double.NaN;
                    bodyPanel.Height = Double.NaN;
                    bodyPanel.Width  = Double.NaN;
                    //bodyPanel.Height = 150;
                    //bodyPanel.Width = 150;
                    bodyPanel.Background = new SolidColorBrush(Colors.White);
                    //bodyPanel.Background = new SolidColorBrush(Colors.LightGray);

                    foreach (ServiceAuthenInitialize.CsDesktopItem item in module.SubItems)
                    {
                        CreateModuleItem(AcorItems, item, bodyPanel);
                    }

                    // peupler l'accordian
                    AcorItems.Content = bodyPanel;
                    accordian.Items.Add(AcorItems);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #22
0
        private void BuildModuleMenuTrivial(Panel trivialPanel, Accordion accordionPanel)
        {
            bool haveTrivialMenuItem = false;

            foreach (IModel model in MefExportedModels.Select(m => m.Value))
            {
                foreach (
                    MethodInfo staticMethod in
                    model.GetType().GetStaticMethodsForUserInterfaceAction(DataContext).Where(
                        mi => mi.GetMethodParameters().Length == 1).ToArray())
                {
                    trivialPanel.Children.Add(staticMethod.GetControl(DataContext));
                    haveTrivialMenuItem = true;
                }
            }

            if (!haveTrivialMenuItem)
            {
                var label = new Label();
                label.SetValue(ContentControl.ContentProperty, Properties.Resources.NoMenuAvailable);
                trivialPanel.Children.Add(label);
            }

            //collapse accordionPanel
            accordionPanel.SetValue(VisibilityProperty, Visibility.Collapsed);
        }
예제 #23
0
    public string Ret;      // For return message

    /// <summary>
    ///  Page Load Method
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set Selected accordion open
        Accordion MasterAcc  = (Accordion)Master.FindControl("acdnMaster");
        int       GroupInd   = MasterAcc.SelectedIndex;
        int       GroupIndex = Convert.ToInt16(Session["SrNo"]);

        MasterAcc.SelectedIndex = GroupIndex - 1;
        // To select loginuser id and login username
        Login objGroup = new Login();

        objGroup.Start();
        UserName  = objGroup.LogedInUser;
        LoginUser = objGroup.LoginUser;
        Ret       = objGroup.Ret;
        if (!IsPostBack)
        {
            if (Session["GroupId"] != null)
            {
                CheckGroupId();
                GroupId = Convert.ToInt32(Session["GroupId"].ToString());
            }
        }
        else
        {
            if (Session["GroupId"] != null)
            {
                GroupId = Convert.ToInt32(Session["GroupId"].ToString());
            }
        }
    }
    string Ope, Col, Val, Sort; // For operator, Column, value, Sorting perpose

    /// <summary>
    /// On Page Load
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // To set Selected accordion open
        Accordion masteracc = (Accordion)Master.FindControl("acdnMaster");
        int       ind       = masteracc.SelectedIndex;
        int       inx       = Convert.ToInt16(Session["SrNo"]);

        IsActive = true;
        masteracc.SelectedIndex = inx - 1;
        Login obj = new Login();

        obj.Start();
        Useraname = obj.LogedInUser;
        LoginUser = obj.LoginUser;
        Ret       = obj.Ret;
        // To select loginuser id and login username
        if (!Page.IsPostBack)
        {
            IsActive = true;
            // To sort defaulty by Ascending order
            ViewState["DtSortIntakeForm"] = "ASC";
            // To fetch IntakeForm details having active status
            DataTable DtIntForm = GetIntakeFormdetails();
            ViewState["DtIntakeForm"] = DtIntForm;
            BindGrid(DtIntForm);
            if (Session["IntakeFormId"] != null)
            {
                IntakeFormId = Convert.ToInt32(Session["IntakeFormId"].ToString());
            }
        }
    }
예제 #25
0
        private void InitUI()
        {
            Accordion = new Accordion(GetAccordionDefinition(), SettingsApp.PrivilegesBackOfficeMenuOperationFormat)
            {
                WidthRequest = _widthAccordion
            };
            //Reajustar posição dos Botões do Accordion para 1024x768
            if (GlobalApp.boScreenSize.Height <= 800)
            {
                _fixAccordion.Put(Accordion, 0, 28);
            }
            else
            {
                _fixAccordion.Put(Accordion, 0, 40);
            }
            _fixAccordion.Add(Accordion);
            Accordion.Clicked += accordion_Clicked;
            //_dashboardButton.Clicked += ((AccordionNode)_accordionChildArticlesTemp["Article"]).Clicked;
            //_dashboardButton.Content = ((Widget)_accordionChildDocumentsTemp["DocumentsListall"].Content);
            //_dashboardButton.Content = Utils.GetGenericTreeViewXPO<DashBoard>(this);
            _exitButton.Clicked += delegate { LogicPos.Quit(this); };

            //TK016248 BackOffice - Check New Version
            _NewVersion.Clicked += delegate
            {
                DateTime actualDate = DateTime.Now;
                if (actualDate <= GlobalFramework.LicenceUpdateDate)
                {
                    string fileName       = "\\LPUpdater\\LPUpdater.exe";
                    string lPathToUpdater = FrameworkUtils.OSSlash(string.Format(@"{0}\{1}", Environment.CurrentDirectory, fileName));
                    //string lPathToUpdater = "" + Utils.GetCurrentDirectory() + "\\LPUpdater\\LPUpdater.exe";

                    if (File.Exists(lPathToUpdater))
                    {
                        ResponseType responseType = Utils.ShowMessageTouch(this, DialogFlags.Modal, new System.Drawing.Size(600, 400), MessageType.Question, ButtonsType.YesNo, string.Format(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "window_title_dialog_update_POS"), GlobalFramework.ServerVersion), resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_pos_update"));

                        if (responseType == ResponseType.Yes)
                        {
                            System.Diagnostics.Process.Start(lPathToUpdater);
                            //Process.Start(lPathToUpdater);
                            LogicPos.QuitWithoutConfirmation();
                        }
                    }
                }
                else
                {
                    Utils.ShowMessageTouch(this, DialogFlags.Modal, new System.Drawing.Size(600, 400), MessageType.Error, ButtonsType.Ok, string.Format(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_error"), GlobalFramework.ServerVersion), resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_message_license_blocked"));
                }
            };

            //Imagem do dashboard carregada novamente. evento chamado
            _dashboardButton.Clicked += delegate
            {
                _dashboardButton.Content = Utils.GetGenericTreeViewXPO <DashBoard>(this);
                _dashboardButton_Clicked(_dashboardButton, null);
            };

            _backPOS.Clicked += ClickedSystemPos;
        }
예제 #26
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Accordion masteracc = (Accordion)Master.FindControl("acdnMaster");
        int       ind       = masteracc.SelectedIndex;

        masteracc.SelectedIndex     = -1;
        masteracc.RequireOpenedPane = false;
    }
예제 #27
0
 /// <summary>
 /// Das Accordion-Control wird initialisiert und eingesetzt. 
 /// </summary>
 /// <returns>Das Accordion wird zurückgegeben</returns>
 public Accordion addAccordion()
 {
     Accordion accordion = new Accordion();
       accordion.Size = new Size(500, 500 - 100 + showers.Count * 25);
       accordion.Dock = DockStyle.Top;
       pl_testing.Controls.Add(accordion);
       return accordion;
 }
예제 #28
0
    protected void Page_Load(object sender, EventArgs e)
    {
        #region Set accordion selected index
        Accordion accMain = (Accordion)(this.Master.FindControl("menuRight")).FindControl("accMenu");
        if (accMain != null)
        {
            accMain.SelectedIndex = Int32.Parse(Request.QueryString["index"]);
        }
        #endregion

        #region Make panel visible accordingly holiday type

        string strHoliType = Request.QueryString["type"];

        if (strHoliType != null)
        {
            switch (strHoliType)
            {
            case "RSO":
                lblHoliday.Text     = "Rajasthan State Office Holidays";
                pnlCombined.Visible = false;
                pnlNorthern.Visible = true;
                break;

            case "ALL":
                lblHoliday.Text     = "All Region Holidays";
                pnlNorthern.Visible = false;
                pnlCombined.Visible = true;
                break;
            }
        }

        #endregion

        #region Populate holiday year

        if (!IsPostBack)
        {
            DataSet ds = DAL.GetDataSet("SELECT DISTINCT HYear FROM RSO_Holidays ORDER BY HYear DESC", "RSO_Holidays");

            ddlYear.DataTextField   = "HYear";
            ddlYear.DataValueField  = "HYear";
            ddlCYear.DataTextField  = "HYear";
            ddlCYear.DataValueField = "HYear";

            ddlYear.DataSource  = ds.Tables[0].DefaultView;
            ddlCYear.DataSource = ds.Tables[0].DefaultView;
            ddlYear.DataBind();
            ddlCYear.DataBind();
        }

        #endregion

        if (!IsPostBack)
        {
            this.btnGo_Click(this, null);
        }
    }
예제 #29
0
        public AccordionTests()
        {
            _httpContext = TestHelper.CreateMockedHttpContext();
            _viewContext = new ViewContext { HttpContext = _httpContext.Object, ViewData = new ViewDataDictionary() };

            _clientSideObjectWriterFactory = new Mock<IClientSideObjectWriterFactory>();

            _accordion = new Accordion(_viewContext, _clientSideObjectWriterFactory.Object) { AssetKey = jQueryViewComponentFactory.DefaultAssetKey };
        }
예제 #30
0
 private void InitUI()
 {
     Accordion = new Accordion(GetAccordionDefinition(), SettingsApp.PrivilegesBackOfficeMenuOperationFormat)
     {
         WidthRequest = _widthAccordion
     };
     _fixAccordion.Add(Accordion);
     Accordion.Clicked += accordion_Clicked;
 }
 // Initialize to make sure we're attached to an accordion control
 public override void Initialize(IComponent component)
 {
     _accordion = component as Accordion;
     if (_accordion == null)
     {
         throw new ArgumentException("Component must be an Accordion control", "component");
     }
     base.Initialize(component);
 }
예제 #32
0
        private static void TranslateAccordion(Accordion obj)
        {
            if (obj != null)
            {
                obj.ToolTip = TagReplace(obj.ToolTip);

                ObjectIdentify(obj.Controls);
            }
        }
 public virtual void AccordionAutomationPeerTypeAndClass()
 {
     Accordion acc = new Accordion();
     AccordionAutomationPeer peer = null;
     TestAsync(
         acc,
         () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(acc) as AccordionAutomationPeer,
         () => Assert.AreEqual(AutomationControlType.List, peer.GetAutomationControlType(), "Unexpected AutomationControlType!"),
         () => Assert.AreEqual("Accordion", peer.GetClassName(), "Unexpected ClassType!"));
 }
 public virtual void AccordionCreatesAutomationPeer()
 {
     Accordion acc = new Accordion();
     AccordionAutomationPeer peer = null;
     TestAsync(
         acc,
         () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(acc) as AccordionAutomationPeer,
         () => Assert.IsNotNull(peer, "Accordion peer should not be null!"),
         () => Assert.AreEqual(acc, peer.Owner, "Accordion should be owner of the peer!"));
 }
예제 #35
0
        public void CallCompleted(ApiResponse result)
        {
            int dia = 0;
            DateTime comienzoEvento;
            Accordion accActual = new Accordion();
            RowAccordion fila;
            List<GetScheduleResponse> response = result.GetTypedResponse<List<GetScheduleResponse>>();

            comienzoEvento = SettingsManager.EventSingleton.start;

            foreach (GetScheduleResponse item in response)
            {
                if (item.day != dia)
                {
                    accActual = new Accordion();

                    accActual.Titulo = comienzoEvento.AddDays(dia).ToString("dd MMMM yyyy", new CultureInfo("es-ES"));
                    accActual.Descripcion = item.place;

                    stackBody.Children.Add(accActual);

                    fila = accActual.AddRow();
                    fila.Hora = item.start;
                    fila.Titulo = item.title;
                    fila.Descripcion = item.place;
                }
                else
                {

                    fila = accActual.AddRow();
                    fila.Hora = item.start;
                    fila.Titulo = item.title;
                    fila.Descripcion = item.place;
                }
                dia = item.day;
            }

            //if (!string.IsNullOrEmpty(response.name))
            //{
            // TODO: Save the information in the localstorage.

            //SettingsManager.LoggedUserSingleton = response;
            //SettingsManager.SaveSetting(SettingsManager.SettingsConstants.LOGGED_USER.ToString(), JsonConvert.SerializeObject(response));

            //Frame.Navigate(typeof(Home));

            //}
            //else
            //{
            //    // TODO: Display an error.
            //}
        }
예제 #36
0
        private Accordion InitAccordionMenu()
        {
            Accordion accordionMenu = new Accordion();
            accordionMenu.ID = "accordionMenu";
            accordionMenu.EnableFill = true;
            accordionMenu.ShowBorder = false;
            accordionMenu.ShowHeader = false;
            Region2.Items.Add(accordionMenu);


            XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument();
            XmlNodeList xmlNodes = xmlDoc.SelectNodes("/Tree/TreeNode");
            foreach (XmlNode xmlNode in xmlNodes)
            {
                if (xmlNode.HasChildNodes)
                {
                    AccordionPane accordionPane = new AccordionPane();
                    accordionPane.Title = xmlNode.Attributes["Text"].Value;
                    accordionPane.Layout = Layout.Fit;
                    accordionPane.ShowBorder = false;
                    accordionPane.BodyPadding = "2px 0 0 0";
                    accordionMenu.Items.Add(accordionPane);

                    Tree innerTree = new Tree();
                    innerTree.EnableArrows = true;
                    innerTree.ShowBorder = false;
                    innerTree.ShowHeader = false;
                    innerTree.EnableIcons = false;
                    innerTree.AutoScroll = true;
                    accordionPane.Items.Add(innerTree);

                    XmlDocument innerXmlDoc = new XmlDocument();
                    innerXmlDoc.LoadXml(String.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Tree>{0}</Tree>", xmlNode.InnerXml));

                    // 绑定AccordionPane内部的树控件
                    innerTree.DataSource = innerXmlDoc;
                    innerTree.DataBind();

                    // 重新设置每个节点的图标
                    ResolveTreeNode(innerTree.Nodes);
                }
            }

            return accordionMenu;
        }
예제 #37
0
        public virtual void ShouldResizeItemsWhenAccordionIsResized()
        {
            // todo: This test should be rewritten once RX comes online.
            // the below is too fragile, so I do not want to enable this test at this point.

            Accordion acc = new Accordion();
            AccordionItem item1 = new AccordionItem();
            AccordionItem item2 = new AccordionItem();
            acc.Height = 200;
            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            acc.Items.Add(item1);
            acc.Items.Add(item2);

            item1.IsSelected = true;
            item2.IsSelected = true;

            TestAsync(
                acc,
                () => Thread.Sleep(10),  // make sure the expand animation has finished
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(item1.ActualHeight > 30 && item1.ActualHeight < 105),
                () => acc.Height = 400,
                () => Thread.Sleep(10),  // make sure the expand animation has finished
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(item1.ActualHeight > 105 && item1.ActualHeight < 220),
                () => acc.Height = 200,
                () => Thread.Sleep(10),  // make sure the expand animation has finished
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Thread.Sleep(10),
                () => Assert.IsTrue(item1.ActualHeight > 30 && item1.ActualHeight < 105));
        }
예제 #38
0
 /// <summary>
 /// Creates an accordion with multiple items of the same value ("item").
 /// </summary>
 /// <param name="selectionMode">The selection mode.</param>
 /// <returns>An accordion with 3 items "item".</returns>
 private static Accordion CreateAccordionWithMultipleItems(AccordionSelectionMode selectionMode)
 {
     Accordion acc = new Accordion
                         {
                                 SelectionMode = selectionMode
                         };
     acc.Items.Add("item");
     acc.Items.Add("item");
     acc.Items.Add("item");
     return acc;
 }
예제 #39
0
        public virtual void ShouldSynchronizeSelectedItemsWithSelectedIndexes()
        {
            Accordion acc = new Accordion();
            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            acc.Items.Add("0");
            acc.Items.Add("1");
            acc.Items.Add("2");
            acc.Items.Add("3");
            acc.Items.Add("4");
            acc.Items.Add("5");

            TestAsync(
                acc,
                () => Assert.AreEqual(0, acc.SelectedItems.Count),
                () => Assert.AreEqual(0, acc.SelectedIndices.Count()),
                () => acc.SelectedIndices.Add(1),
                () => acc.SelectedIndices.Add(4),
                () => Assert.AreEqual(2, acc.SelectedItems.Count),
                () => Assert.AreEqual("1", acc.SelectedItems[0]),
                () => Assert.AreEqual("4", acc.SelectedItems[1]));
        }
예제 #40
0
        public virtual void ShouldSelectNewItemWhenAddingItemsThroughSelectedCollections()
        {
            // todo: test is invalid given new logic.

            Accordion acc = new Accordion();
            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            acc.Items.Add("0");
            acc.Items.Add("1");
            acc.Items.Add("2");
            acc.Items.Add("3");
            acc.Items.Add("4");

            TestAsync(
                acc,
                () => acc.SelectedItems.Add("1"),
                () => Assert.IsTrue(GetAccordionItem(acc, "1").IsSelected),
                () => acc.SelectedIndices.Add(4),
                () => Assert.IsTrue(GetAccordionItem(acc, "4").IsSelected),
                () => acc.SelectionMode = AccordionSelectionMode.One,
                () => Assert.AreEqual(acc.SelectedItems[0], acc.Items[acc.SelectedIndices[0]]),
                () => acc.SelectedItems.Add("0"),
                () => Assert.IsTrue(GetAccordionItem(acc, "0").IsSelected),
                () => Assert.IsFalse(GetAccordionItem(acc, "1").IsSelected),
                () => acc.SelectedIndices.Add(2),
                () => Assert.IsTrue(GetAccordionItem(acc, "2").IsSelected),
                () => Assert.IsFalse(GetAccordionItem(acc, "0").IsSelected));
        }
예제 #41
0
        public virtual void ShouldHandleSettingSelectedIndexToInvalidValue()
        {
            Accordion acc = new Accordion();
            acc.SelectedIndex = 0;

            Assert.IsNull(acc.SelectedItem);
            Assert.AreEqual(-1, acc.SelectedIndex);

            // make sure one is selected.
            acc.SelectionMode = AccordionSelectionMode.OneOrMore;
            acc.Items.Add("1");
            acc.Items.Add("2");

            acc.SelectedIndex = 1;
            acc.SelectedIndex = -1;
            // should revert to old value
            Assert.AreEqual("2", acc.SelectedItem);
            Assert.AreEqual(1, acc.SelectedIndex);

            acc.SelectedIndex = 15;
            // should revert to old value
            Assert.AreEqual("2", acc.SelectedItem);
            Assert.AreEqual(1, acc.SelectedIndex);
        }
예제 #42
0
        public virtual void ShouldUseDisplayMemberBindingForBothContentAndHeader()
        {
            Person a = new Person() { FirstName = "aFirst", LastName = "aLast" };

            Accordion acc = new Accordion();
            acc.DisplayMemberPath = "LastName";

            AccordionItem item = null;
            TestAsync(
                acc,
                () => acc.Items.Add(a),
                () => item = GetAccordionItem(acc, a),
                () => Assert.IsNotNull(item.HeaderTemplate),
                () => Assert.AreSame(item.HeaderTemplate, item.ContentTemplate));
        }
예제 #43
0
        public virtual void ShouldSupportIsMinimumOneSelectedWithNoItems()
        {
            Accordion accordion = new Accordion();
            accordion.SelectionMode = AccordionSelectionMode.One;

            TestAsync(
                accordion,
                () => Assert.IsNull(accordion.SelectedItem),
                () => accordion.SelectionMode = AccordionSelectionMode.ZeroOrOne,
                () => Assert.IsNull(accordion.SelectedItem),
                () => accordion.SelectionMode = AccordionSelectionMode.One,
                () => Assert.IsNull(accordion.SelectedItem));
        }
예제 #44
0
        public override void TemplateVisualStatesAreDefined()
        {
            IDictionary<string, string> visualStates = new Accordion().GetType().GetVisualStates();
            Assert.AreEqual(6, visualStates.Count);

            Assert.AreEqual<string>("CommonStates", visualStates["Normal"]);
            Assert.AreEqual<string>("CommonStates", visualStates["MouseOver"]);
            Assert.AreEqual<string>("CommonStates", visualStates["Pressed"]);
            Assert.AreEqual<string>("CommonStates", visualStates["Disabled"]);

            Assert.AreEqual<string>("FocusStates", visualStates["Focused"]);
            Assert.AreEqual<string>("FocusStates", visualStates["Unfocused"]);
        }
예제 #45
0
        public virtual void ShouldApplyTemplatesWhenGeneratingItems()
        {
            Accordion acc = new Accordion();
            DataTemplate itemTemplate = new XamlBuilder<DataTemplate> { Name = "itemtemplate" } .Load();
            DataTemplate contentTemplate = new XamlBuilder<DataTemplate> { Name = "contenttemplate" } .Load();

            acc.ItemTemplate = itemTemplate;
            acc.ContentTemplate = contentTemplate;

            acc.Items.Add("item 1");

            TestAsync(
                acc,
                () => Assert.AreEqual(itemTemplate, GetAccordionItem(acc, "item 1").HeaderTemplate),
                () => Assert.AreEqual(contentTemplate, GetAccordionItem(acc, "item 1").ContentTemplate));
        }
예제 #46
0
 /// <summary>
 /// Gets the accordion item.
 /// </summary>
 /// <param name="accordion">The accordion.</param>
 /// <param name="item">The item that is wrapped by an AccordionItem.</param>
 /// <returns>The accordionItem that wraps the item.</returns>
 private static AccordionItem GetAccordionItem(Accordion accordion, object item)
 {
     return accordion.ItemContainerGenerator.ContainerFromItem(item) as AccordionItem;
 }
예제 #47
0
        public virtual void ShouldSetCorrectDataContextWhenSettingItemsSource()
        {
            Accordion acc = new Accordion();

            List<string> MyCollection = new List<string>();
            MyCollection.Add("AAAA");
            MyCollection.Add("BBBB");
            MyCollection.Add("CCCC");

            acc.ItemsSource = MyCollection;
            
            AccordionItem generated = null;

            TestAsync(
                    acc,
                    () => generated = (AccordionItem)acc.ItemContainerGenerator.ContainerFromIndex(1),
                    () => Assert.IsTrue(generated.Header.ToString() == "BBBB"));
        }
예제 #48
0
        public virtual void ShouldSetCorrectDataContextWhenManuallyAddingItems()
        {
            Accordion acc = new Accordion();
            acc.Items.Add("item 1");
            acc.Items.Add("item 2");
            acc.Items.Add("item 3");

            AccordionItem generated = null;

            TestAsync(
                acc,
                () => generated = (AccordionItem)acc.ItemContainerGenerator.ContainerFromIndex(1),
                () => Assert.IsTrue(generated.Header.ToString() == "item 2"));
        }
예제 #49
0
        public virtual void ShouldOverrideDisplayMemberPathIfPossible()
        {
            Person a = new Person() { FirstName = "aFirst", LastName = "aLast" };

            Accordion acc = new Accordion();
            acc.DisplayMemberPath = "LastName";
            DataTemplate contentTemplate = new XamlBuilder<DataTemplate> { Name = "contenttemplate" } .Load();

            acc.ContentTemplate = contentTemplate;

            AccordionItem item = null;
            TestAsync(
                acc,
                () => acc.Items.Add(a),
                () => item = GetAccordionItem(acc, a),
                () => Assert.AreEqual(contentTemplate, item.ContentTemplate));
        }
        public virtual void ShouldBindContentAlignments()
        {
            Accordion acc = new Accordion();
            AccordionItem item = new AccordionItem();
            item.Content = new Button()
                               {
                                       Content = "content"
                               };
            acc.Width = 300;
            acc.Height = 300;
            acc.Items.Add(item);

            TestAsync(
                    acc,
                    () => item.IsSelected = true,
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Assert.IsTrue(((Button) item.Content).ActualWidth < 200),
                    () => Assert.IsTrue(((Button) item.Content).ActualHeight < 200),
                    () => item.VerticalContentAlignment = VerticalAlignment.Stretch,
                    () => item.HorizontalContentAlignment = HorizontalAlignment.Stretch,
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Assert.IsTrue(((Button) item.Content).ActualWidth > 200),
                    () => Assert.IsTrue(((Button) item.Content).ActualHeight > 200));
        }
예제 #51
0
        public virtual void ShouldSynchronizeSelectedIndexAndSelectedItem()
        {
            Accordion acc = new Accordion();

            acc.Items.Add("item 0");
            acc.Items.Add("item 1");
            acc.Items.Add("item 2");
            acc.Items.Add("item 3");

            TestAsync(
                acc,
                () => Assert.AreEqual(0, acc.SelectedIndex),
                () => acc.SelectedItem = "item 2",
                () => Assert.AreEqual(2, acc.SelectedIndex),
                () => acc.SelectedIndex = 1,
                () => Assert.AreEqual("item 1", acc.SelectedItem),
                () => acc.SelectedIndex = 10,   // invalid value
                () => Assert.AreEqual(1, acc.SelectedIndex));
        }
예제 #52
0
        public virtual void ShouldHandleSettingSelectedItemToInvalidItemUsingItemsSource()
        {
            Accordion acc = new Accordion();
            acc.ItemsSource = "hello world".Split(' ');

            acc.SelectedItem = "invalid";

            Assert.AreEqual("hello", acc.SelectedItem);
        }
예제 #53
0
 /// <summary>
 /// Gets the accordion item belonging to an index.
 /// </summary>
 /// <param name="accordion">The accordion.</param>
 /// <param name="index">The index.</param>
 /// <returns>The accordionItem that wraps the item.</returns>
 private static AccordionItem GetAccordionItem(Accordion accordion, int index)
 {
     return accordion.ItemContainerGenerator.ContainerFromIndex(index) as AccordionItem;
 }
예제 #54
0
        public virtual void ShouldIgnoreTemplatesSpecificallySet()
        {
            Accordion acc = new Accordion();
            DataTemplate itemTemplate = new XamlBuilder<DataTemplate> { Name = "itemtemplate" } .Load();
            DataTemplate contentTemplate = new XamlBuilder<DataTemplate> { Name = "contenttemplate" } .Load();

            acc.ItemTemplate = itemTemplate;
            acc.ContentTemplate = contentTemplate;

            DataTemplate customHeaderTemplate = new XamlBuilder<DataTemplate> { Name = "customheadertemplate" } .Load();
            DataTemplate customContentTemplate = new XamlBuilder<DataTemplate> { Name = "customcontenttemplate" } .Load();

            AccordionItem withTemplates = new AccordionItem()
            {
                HeaderTemplate = customHeaderTemplate,
                ContentTemplate = customContentTemplate
            };
            AccordionItem withoutTemplates = new AccordionItem();

            TestAsync(
                acc,
                () => acc.Items.Add(withTemplates),
                () => acc.Items.Add(withoutTemplates),
                () => Assert.AreNotEqual(itemTemplate, ((AccordionItem)acc.Items[0]).HeaderTemplate),
                () => Assert.AreNotEqual(contentTemplate, ((AccordionItem)acc.Items[0]).ContentTemplate),
                () => Assert.AreEqual(itemTemplate, ((AccordionItem)acc.Items[1]).HeaderTemplate),
                () => Assert.AreEqual(contentTemplate, ((AccordionItem)acc.Items[1]).ContentTemplate),
                () => Assert.AreEqual(customHeaderTemplate, ((AccordionItem)acc.Items[0]).HeaderTemplate),
                () => Assert.AreEqual(customContentTemplate, ((AccordionItem)acc.Items[0]).ContentTemplate));
        }
예제 #55
0
    /// <summary>
    /// Prepares the layout of the web part.
    /// </summary>
    protected override void PrepareLayout()
    {
        StartLayout();

        Append("<div");

        // Width
        string width = this.Width;
        if (!string.IsNullOrEmpty(width))
        {
            Append(" style=\"width: ", width, "\"");
        }

        if (IsDesign)
        {
            Append(" id=\"", ShortClientID, "_env\">");

            Append("<table class=\"LayoutTable\" cellspacing=\"0\" style=\"width: 100%;\">");

            if (this.ViewMode == ViewModeEnum.Design)
            {
                Append("<tr><td class=\"LayoutHeader\" colspan=\"2\">");

                // Add header container
                AddHeaderContainer();

                Append("</td></tr>");
            }

            Append("<tr><td id=\"", ShortClientID, "_info\" style=\"width: 100%;\">");
        }
        else
        {
            Append(">");
        }

        // Add the tabs
        Accordion acc = new Accordion();
        acc.ID = "acc";
        AddControl(acc);

        if (IsDesign)
        {
            Append("</td>");

            if (AllowDesignMode)
            {
                // Width resizer
                Append("<td class=\"HorizontalResizer\" onmousedown=\"" + GetHorizontalResizerScript("env", "Width", false, "info") + " return false;\">&nbsp;</td>");
            }

            Append("</tr>");
        }

        // Pane headers
        string[] headers = PaneHeaders.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

        for (int i = 1; i <= Panes; i++)
        {
            // Create new pane
            AccordionPane pane = new AccordionPane();
            pane.ID = "pane" + i;

            // Prepare the header
            string header = null;
            if (headers.Length >= i)
            {
                header = ResHelper.LocalizeString(headers[i - 1]);
            }
            if (String.IsNullOrEmpty(header))
            {
                header = "Pane " + i;
            }

            pane.Header = new TextTransformationTemplate(header);
            acc.Panes.Add(pane);

            AddZone(this.ID + "_" + i, header, pane.ContentContainer);
        }

        // Setup the accordion
        if ((this.ActivePaneIndex >= 1) && (this.ActivePaneIndex <= acc.Panes.Count))
        {
            acc.SelectedIndex = this.ActivePaneIndex - 1;
        }

        acc.ContentCssClass = this.ContentCSSClass;
        acc.HeaderCssClass = this.HeaderCSSClass;
        acc.HeaderSelectedCssClass = this.SelectedHeaderCSSClass;

        acc.FadeTransitions = this.FadeTransitions;
        acc.TransitionDuration = this.TransitionDuration;
        acc.RequireOpenedPane = this.RequireOpenedPane;

        // If no active pane is selected and doesn't require opened one, do not preselect any
        if (!acc.RequireOpenedPane && (this.ActivePaneIndex < 0))
        {
            acc.SelectedIndex = -1;
        }

        if (IsDesign)
        {
            if (AllowDesignMode)
            {
                Append("<tr><td class=\"LayoutFooter\" colspan=\"2\"><div class=\"LayoutFooterContent\">");

                // Pane actions
                Append("<div class=\"LayoutLeftActions\">");

                if (this.Panes > 1)
                {
                    AppendRemoveAction(ResHelper.GetString("Layout.RemoveLastPane"), "Panes");
                    Append(" ");
                }
                AppendAddAction(ResHelper.GetString("Layout.AddPane"), "Panes");

                Append("</div></div></td></tr>");
            }

            Append("</table>");
        }

        Append("</div>");

        FinishLayout();
    }
예제 #56
0
        public virtual void RandomizedCollectionIntegrityTest()
        {
            Accordion acc = new Accordion();
            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            acc.Items.Add("same item");
            acc.Items.Add("same item");
            acc.Items.Add("same item");
            acc.Items.Add("same item");
            acc.Items.Add("same item");
            acc.Items.Add("different item");
            acc.Items.Add("different item2");
            acc.Items.Add("different item3");
            acc.Items.Add(new AccordionItem());
            acc.Items.Add(new AccordionItem());
            acc.Items.Add(new AccordionItem());
            acc.Items.Add(new AccordionItem());
            acc.Items.Add(new AccordionItem());

            Random r = new Random(121212);
            List<Action> actions = new List<Action>();
            actions.Add(() =>
                            {
                                int index = r.Next(acc.Items.Count);
                                if (!acc.SelectedIndices.Contains(index))
                                {
                                    acc.SelectedIndices.Add(index);
                                }
                            });
            actions.Add(() =>
                            {
                                if (acc.SelectedIndices.Count > 0)
                                {
                                    int index = acc.SelectedIndices[r.Next(acc.SelectedIndices.Count)];
                                    acc.SelectedIndices.Remove(index);
                                }
                            });
            actions.Add(() =>
                            {
                                object item = acc.Items[r.Next(acc.Items.Count)];
                                if (!acc.SelectedItems.Contains(item))
                                {
                                    acc.SelectedItems.Add(item);
                                }
                            });
            actions.Add(() =>
                            {
                                if (acc.SelectedItems.Count > 0)
                                {
                                    acc.SelectedItems.Remove(acc.SelectedItems[r.Next(acc.SelectedItems.Count)]);
                                }
                            });
            actions.Add(() => acc.SelectedItem = acc.Items[r.Next(acc.Items.Count)]);
            actions.Add(() => acc.SelectedIndex = r.Next(acc.Items.Count));

            for (int i = 0; i < 5000; i++)
            {
                // the below writeline makes it easy to set a breakpoint at a 
                // specific iteration
                Diagnostics.Debug.WriteLine(i);

                actions[r.Next(actions.Count)].Invoke();
                Assert.IsTrue((acc.SelectedIndex == -1 && acc.SelectedItem == null) || acc.Items[acc.SelectedIndex].Equals(acc.SelectedItem));
                foreach (int selectedIndex in acc.SelectedIndices)
                {
                    Assert.IsTrue(acc.SelectedItems.Contains(acc.Items[selectedIndex]));
                }
            }
        }
        public virtual void ShouldBindAccordionButtonStyle()
        {
            Accordion acc = new Accordion();
            Style buttonStyle = new Style(typeof(AccordionButton));
            // todo: remove below line to test the actual switch of the style 
            acc.AccordionButtonStyle = buttonStyle;
            acc.Items.Add("item 1");
            acc.Items.Add(new AccordionItem() { Content = "item 2" });
            acc.Items.Add(new AccordionItem() { Content = "item 3", AccordionButtonStyle = new Style(typeof(AccordionButton)) });

            bool loaded = false;
            acc.Loaded += (sender, args) => loaded = true;
            EnqueueCallback(() => TestPanel.Children.Add(acc));
            EnqueueConditional(() => loaded);
            EnqueueCallback(() => acc.AccordionButtonStyle = buttonStyle);
            EnqueueCallback(() => Assert.AreSame(buttonStyle, ((AccordionItem) acc.ItemContainerGenerator.ContainerFromIndex(0)).AccordionButtonStyle));
            EnqueueCallback(() => Assert.AreSame(buttonStyle, ((AccordionItem) acc.ItemContainerGenerator.ContainerFromIndex(1)).AccordionButtonStyle));
            EnqueueCallback(() => Assert.AreNotSame(buttonStyle, ((AccordionItem) acc.ItemContainerGenerator.ContainerFromIndex(2)).AccordionButtonStyle));
            EnqueueTestComplete();
        }
예제 #58
0
        public virtual void ShouldSynchronizeSelectedIndexDuringItemsManipulation()
        {
            Accordion acc = new Accordion();
            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            acc.Items.Add("0");
            acc.Items.Add("1");
            acc.Items.Add("2");
            acc.Items.Add("3");
            acc.Items.Add("4");
            acc.Items.Add("5");

            acc.SelectedItem = "2";
            Assert.IsTrue(acc.SelectedIndex == 2);

            acc.Items.Insert(0, "first");
            Assert.IsTrue(acc.SelectedIndex == 3);

            acc.Items.RemoveAt(1);
            Assert.IsTrue(acc.SelectedIndex == 2);

            acc.Items.Clear();
            Assert.IsTrue(acc.SelectedIndex == -1);
        }
        public virtual void ShouldAllowContentToResizeInNonFixedSizeScenario()
        {
            Accordion acc = new Accordion();
            AccordionItem item = new AccordionItem();
            item.Content = new Shapes.Rectangle()
                               {
                                       Width = 100,
                                       Height = 100
                               };
            acc.Items.Add(item);

            TestAsync(
                    acc,
                    () => item.IsSelected = true,
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Assert.IsTrue(item.ActualWidth < 110),
                    () => Assert.IsTrue(item.ActualHeight < 110),
                    () => Assert.IsTrue(item.ActualHeight > 60),
                    () => ((Shapes.Rectangle) item.Content).Height = 400,
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Thread.Sleep(10),
                    () => Assert.IsTrue(item.ActualHeight > 230));
        }
예제 #60
0
        public virtual void ShouldAllowWorkingWithTheSameObjects()
        {
            // the string has several of the same letters.
            string test = "Hello World";
            Accordion acc = new Accordion()
                                {
                                    ItemsSource = test.ToCharArray()
                                };

            acc.SelectedItem = 'l';
        }