Bug Report Q468576
Visible to All Users

Switching a floating toolbar's Visible property to True in the BarManager's OnMerge event handler does not show this toolbar on screen

created 11 years ago (modified 11 years ago)

Hello,
I have an MDI app. On the child form I have a tabbed layout group . On the main form there is a 'Tools' bar. On the child form under some layout group tab there are also 'Tools' bars. I would like to merge this bars to the main form bar, if they are visible (the tab containing they is active) and the child form is active. In other cases they sould be unvisible. My logic: I set the Tag property of the child tab to 3. Three means: the merge and unmerge procedure do nothing with this bars.
I wrote two event handler for this tabbed layout group on the child form: OnTabChanging and OnTabChanged . The OnTabChanging makes the unmerges, the OnTabChanged makes the merges. In the OnTabChanging after an unmerge, I set the unmerged bars Tag property to 3 (main forms barmanegrs OnMerge will do nothing with this bars, because their tabs isn't active and so they arn't visible). In the OnTabChanged first I set the bars Tag property to 1 on the activated tab, then I call my merge procedure. 1 mean, that this is an unvisible bar, but now it is mergeble. My merge routin merges it to the main form bar and sets its Tags property to 2. 2 means it is a merged bar, but before merge it was hidden. My unmerge procedure can unmerge bars with Tag=2, but after the unmerge it sets this bars Visible property to false and the Tag property back to 1. OnTabChanging and OnTabChanged handles the changes between tabs on a child form. Changes between child forms is handled by the main forms barmanager OnMerge. If the 'Tools' bar on the main form is empty, I set it to hidden (Visible = False) in my unmerge procedure. (Maybe this is a reason of one of my problems.)
This forks fine if the main 'Tools' bar is docked. If I make it to float, I get a problem:
If a change to an other child form and on both child is a Tab active with a client 'Tools' bar, the main 'Tools' bar must be stay visible, only the content must be changed, but it disapperas and I can get it back only with a tab change on the client form. Client change and tab change use the same tonMerge procedure, so I dosn't know, what is the problem.
Please see my attached sample!
Regarsd,
Péter

Comments (3)
DevExpress Support Team 11 years ago

    Hello,
    I have tried to reproduce the problem you described, but failed. Would you please provide me with a step-by-step instruction on how to replicate this scenario?

      It happens, when the toolbar is floating. Please start my sample app! Click two times on the 'New' button. Now you have two child form and the second is active. After opening child form you got a new toolbar with two button: 'Fake action ' and 'Action1'. It is the result of mergint second child forms toolbar to the main toolbar. Please make this toolbar floating! Switch to the first child form! This unmerges the toolbar of second child and merges the toolbar of the first child from/to the main toolbar. The floating toolbar disappears.

      DevExpress Support Team 11 years ago

        Hello,
        Thank you for your clarification. I have reproduced this behavior and forwarded this ticket to our developers for research.

        Answers approved by DevExpress Support

        created 11 years ago (modified 11 years ago)

        We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

        Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

          Comments (1)

            Thank You Artem!

            Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

            Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.