package nxm.sys.libg;

import nxm.sys.inc.MessageHandler;

/** An interface to declare operations that must be implemented by any
    GWidget that is instantiated via the JavaBean approach, wherein the control/
    widget is constructed via reflection.
    @author crs
    @version $Id: BeanWidget.java,v 1.2 2014/10/30 17:45:32 ntn Exp $
    @since NeXtMidas 2.9.1
 **/
public interface BeanWidget {

  /**
    Method that must be implemented by any GWidget that should be callable
    via a reflection.  This method should "construct" the widget, in lieu of an
    actual constructor.
    @param name the name of this widget
    @param parent this widget's parent
    @param title the title of this widget
    @param flags the flags for this widget
    @param mh the MessageHandler to be registered for this widget
    @param argTable options table, e.g. properties to set
   */
  void setupBean (String name, Object parent, String title,
                  int flags, MessageHandler mh, nxm.sys.lib.Table argTable);

}
