Problem creating gui from xml -> Strange CPButton behaviour
- by Superpro
Hallo,
I'm new to objective-j and cappuccino and just have tried to create a
small application, that creates the gui dynamically from a xml file.
Unfortunately it works only partially. It seems that the button
regions are disorder. This means, that the buttons also  response  if
I click besides the button....
Please help me. I dont get it..
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
{
    mControlList = [CPArray alloc];
   theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero()
    styleMask:CPBorderlessBridgeWindowMask],
    contentView = [theWindow contentView];
    [contentView setFrame:[[contentView superview] bounds]];
    [contentView setAutoresizingMask:CPViewWidthSizable |
CPViewHeightSizable];
    // Loadxmlfile
    var xhttp;
    if (window.XMLHttpRequest)
    {
        xhttp=new XMLHttpRequest()
    }
    else
    {
        xhttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
    xhttp.open("GET","test.xml",false);
    xhttp.send("");
    xmlDoc = xhttp.responseXML;
    //Get controls nodeand iterate through all controls
    var node = xmlDoc.getElementsByTagName("controls")[0];
    for (var i=0; i<node.childNodes.length; i++) {
        if(node.childNodes[i].nodeName=="button"){
            var item = node.childNodes[i];
            var name = item.attributes["name"].nodeValue;
            var text = item.getElementsByTagName("text")
[0].childNodes[0].nodeValue;
            var x=      item.getElementsByTagName("rect")
[0].attributes["x"].nodeValue;
            var y=      item.getElementsByTagName("rect")
[0].attributes["y"].nodeValue;
            var width=  item.getElementsByTagName("rect")
[0].attributes["width"].nodeValue;
            var height= item.getElementsByTagName("rect")
[0].attributes["height"].nodeValue;
            var b = [[Button alloc] InitWithParent:contentView Text:text X:x
Y:y Width:width Height:height];
            [mControlList addObject:b];
        }
    }
    [theWindow orderFront:self];
}
@implementation Button : CPObject
{
    CPButton _button;
}
- (Button)InitWithParent:(CPView)contentView Text:(CPString)text X:
(int)x Y:(int)y Width:(int)width Height:(int)height
{
    _button = [[CPButton alloc] initWithFrame:
CGRectMake(x,y,width,height)];
    [_button setTitle:text];
    [_button setTarget:self];
    [_button setAction:@selector(cmdNext_onClick:)];
    [contentView addSubview:_button];
    return self;
}
- (void)cmdNext_onClick:(id)sender
{
}
@end