twig / dcxdll

Dialog Control eXtensions for mIRC
BSD 3-Clause "New" or "Revised" License
23 stars 2 forks source link

Tab control, first panel, no content #1

Closed TheArkive closed 9 years ago

TheArkive commented 10 years ago

Hopefully DCX is still going! I'm using the latest release v1.4.0. Haven't tried anything from GitHub yet...

Please let me know if v1.4.0 is so far behind that reporting issues on it is pointless.

I happened to find a bug with the tab controls in DCXML. The first panel seems to never be able to show anything. In some cases I can get a tab within the first tab to finally show controls, but it doesn't behave as expected.

Here's a snippit:

<control type="tab" height="200" width="200" styles="">
    <control type="panel" caption="fudge" styles="hidden">
        <control type="list">
            <item>item1</item>
            <item>item2</item>
        </control>
    </control>
</control>

The panel shows, the list doesn't. All subsequent panels function as expected.

hapm commented 10 years ago

Can you reproduce this with the demo dialog, or provide a complete test case to get me an easier start to look on it? Btw why there is a hidden style on the panel?

TheArkive commented 10 years ago

I'll try and replicate with demo code.

The hidden style was a test since not hodden wasn't working. Looks weird i know. I'll keep testing and I'll give the demo code a shot too. On Jan 14, 2014 8:14 PM, "Markus Andree" notifications@github.com wrote:

Can you reproduce this with the demo dialog, or provide a complete test case to get me an easier start to look on it? Btw why there is a hidden style on the panel?

— Reply to this email directly or view it on GitHubhttps://github.com/twig/dcxdll/issues/1#issuecomment-32325962 .

TheArkive commented 10 years ago

Currently the demo (untouched) is giving me the following errors:

D_CERROR (listview) xdid -w mydialog 5: Unable to load normal icon (<--- 40 of these)

D_CERROR (listview) xdid -l mydialog 5: Invalid Command

I'm running Win 8 Pro (x64). Is that a known issue? I have Win 7 Pro x64 machines and I'll test on those later as well.

EDIT1:

Also, I was trying this DLL with mIRC v7.32 ... lots of errors. Including (in the demo) when I click on entries in the treebar, nothing happens. I reverted back to mIRC v6.21 and that functionality has returned. In addition, the controls within the Tabs/Panels appear as expected on mIRC v6.21 ... and on Windows 8 Pro (x64).

TheArkive commented 10 years ago

Ok I finally got my version to work, and it works in mIRC v7.32 as well, but it's very odd. Tab "panels" only function as expected when nested in a "divider" control. Here's one version of my code that works:

<dcxml>
    <dialogs>
        <styles>
            <style type="button" height="20"/>
        </styles>

        <dialog name="TestDialog" h="500" w="500" margin="5 5 5 5">

            <control type="divider">
                <control type="tab" styles="">
                    <control type="panel" caption="fudge" height="400">
                        <control type="list">
                            <item>item1</item>
                            <item>item2</item>
                        </control>
                    </control>
                    <control type="panel" caption="tab2" />
                </control>
            </control>

        </dialog>

    </dialogs>

</dcxml>

To make matters even more odd, I'm having trouble sizing the divider as desired. I'm trying placing the divider in a sized panel, i've tried sizing the panels within the divider... still trying to cook more ideas.

So ... basically tabs only function as expected when inside a divider. No other parent node will allow content to be displayed in the first tab for some reason.

EDIT: It would seem that the the tab node should be an acceptable parent node and not need to be in a panel or divider. But that is not the case. The tab node must be in a divider in order for the first tab to display content.

Still experimenting...

TheArkive commented 10 years ago

Last bit, it seems that the divider position cannot be predefined in the DCXML layout. So in order to get the first tab panel to function as desired, it is also necessary to set the position of the divider with /xdid.

That's all my findings and I'm running out of ideas...

hapm commented 10 years ago

Looked this up in the code, and it looks like the divider takes the width of the second client control as the position regardless of the divider being vertical or horizontal aligned. That of course is a bug of its own. The demo works fine for me with the latest commit on win 7, as long as you don't use the webcontrol with the latest IE build, and ignoring the black background of the panel control in the header (another bug). I'll try to get a Win 8 vm running to reproduce your problems.

For the icon load error I would like you to check if controls.icl is in the same place as the demo script. If so, its a Win 8 related problem that is a bug as well.

Overall afaik dcx wasn't tested on win 8 yet. So the bugs your encounter could be platform specific. Would be nice to know if you have the same issues on a win 7 platform, with the needed resources from the dcx.zip in place.

To get the versioning of the dcx.dll straight, I would thank you for posting your output of //echo -a $dcx(Version)

TheArkive commented 10 years ago

Ok here's the version:

DCX (XPopup) DLL 1.4.0 Release Build by ClickHeRe, twig*, Ook, andy and Mpdreamz ©2006-2007

I'll do tests on a Win7 machine and post my results.

hapm commented 10 years ago

Btw, do you test it on win 8.1 or win 8?

TheArkive commented 10 years ago

Only Win 8. I'm not up to trying Win 8.1 on my main PC. If I get a hold of another one I can test with I'll post those results as well.

hapm commented 10 years ago

Only a question to be able to reproduce your environment, setting up a win 8 machine atm.

TheArkive commented 10 years ago

Yah I know. If i get an extra laptop I'll try Win 8.1. Until then I have Win 8 and Win 7 machines.

OokEek commented 10 years ago

no point in reporting issues with 1.4.0, stick to the dev builds.