Hi again :)

i try to make some sort of model, view , controler with a login window, but i have a little problem.

In my Application.js i create an instance of my Controler like this :

 var loginContrl = new firstapp.controler.loginControler();
 loginContrl.showLogin();


The source of the Controler looks like :

qx.Class.define("firstapp.controler.loginControler",
{
  extend : qx.core.Object,

  construct : function()
  {
    this.loginWindow = new firstapp.ui.loginBox("LoginWindow",null);
  },



  members :
  {
    loginWindow : null,

    performLogin : function()
    {
        alert("blub");
    },

    showLogin : function()
    {
        this.loginWindow.open();
        this.loginWindow.addLoginListener(this.performLogin);
    }

  }

});

Additionally i have a loginWindow class, that looks like this :

/* ************************************************************************

   Copyright:

   License:

   Authors:

************************************************************************ */

/* ************************************************************************

#asset(firstapp/*)

************************************************************************ */

/**
* This is the main application class of your custom application "firstapp"
 */
qx.Class.define("firstapp.ui.loginBox",
{
  extend : qx.ui.window.Window,



  /*
*****************************************************************************
     MEMBERS
*****************************************************************************
  */
  construct : function(name,icon)
  {
    this.base(arguments,name,icon);
    this.set
    ({
        modal         : true,
        showMinimize  : false,
        showMaximize  : false,
        allowMaximize : false,
        allowClose    : false

    });

    this.addContent();
  },

  members :
  {

     loginButton   : null,
     loginListener : null,

    /**
* This method contains the initial application code and gets called
     * during startup of the application
     */
     addContent : function()
     {
        var windowLayout = new qx.ui.layout.VBox(10);
        this.setLayout(windowLayout);
        this.setMinWidth(300);
var loginField = new qx.ui.form.TextField("Enter Login").set({width: 260}); var passField = new qx.ui.form.PasswordField("Enter Passw").set({width : 260});
        loginButton = new qx.ui.form.Button("Login");
        this.add(loginField);
        this.add(passField);
        this.add(loginButton);
        this.addListenerOnce("resize", this.center, this);
     },

     addLoginListener : function (listener)
     {
        this.loginListener = listener;
        this.loginButton.addListener("execute",this.loginListener());

     }
  }
});

When the loginControler is instantiated, it creates an instance of the login window, registers a listener for the button and then it opens the window. But the registered listener is not called, when i press the button. Nothing happens ? Is it not allowed to hand over a function pointer from another class as listener ?

Thank you
Tom
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to